Forum Coders' city Strona Główna Coders' city
Nasza pasja to programowanie!
 

 PomocPomoc   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy  RejestracjaRejestracja 
Archiwum starego forum + teoria    RSS & Panel/SideBar
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

Potrzebuję szybkiej odpowiedzi na moje pytanie... Zasady

Jak zrobić edytor tekstu z prawdziwego zdarzenia?



 
Odpowiedz do tematu    Forum Coders' city Strona Główna -> Biblioteki
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Luke



Dołączył: 17 Cze 2007
Posty: 1893
Skąd: Szczecin

PostWysłany: Nie Lis 09, 2014 8:49 pm  OP    Temat postu: Jak zrobić edytor tekstu z prawdziwego zdarzenia? Odpowiedz z cytatem Pisownia

Ostatnio męczy mnie pomysł zrobienia nieco bardziej rozbudowanego edytora tekstu, np. takiego dla developerów - z kolorowaniem składni, podpowiedaniem kodu itp.
Problemy znalazłem już na samym początku - na czym oprzeć warstwę graficzną tak, żeby program był przenośny na wszystkie trzy główne platformy - Windowsa, Linuksa i Maca.
W ogóle też - jak wyświetlać tekst w różnych kolorach, z możliwością jego przewijania, jak wyświetlać i obsługiwać kursor tekstowy, jak wyświetlać wiele plików w zakładkach itp.
Byłbym bardzo wdzięczny za jakieś wskazówki, jeśli chodzi o wybór biblioteki widgetów (?) czy też innego rozwiązania. Najlepiej takiego, by nie trzeba było doinstalowywać żadnych paczek na Windowsie (bo na Linuksie 1. ludzie i tak są do tego przyzwyczajeni, 2. być może już będą mieli daną bibliotekę w systemie).
Moim wzorem byłby niewątpliwie Sublime Text.

Na dzisiejszy stan mojej wiedzy potrafiłbym zbudować taki edytor w technologiach webowych (HTML, CSS, JS), ale chciałbym spróbować też swoich sił w tworzeniu zwykłych desktopowych aplikacji.
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Odwiedź stronę autora
lethern



Dołączył: 09 Paź 2007
Posty: 1106

PostWysłany: Nie Lis 09, 2014 9:34 pm      Temat postu: Odpowiedz z cytatem Pisownia

Przecież to wszystko już jest zrobione, w dowolnym języku, nawet w JavaScript są już edytory które podświetlają składnię. Dla C++ znam np. scintilla (użyty np. w notepad++, ale i różnych innych, więc powinien sporo tego co potrzebujesz. screen) + jakieś dodatki/pluginy/rozwinięcia.
Dla C# widziałem ten temat ostatnio na tej stronie poruszony, "The query editor uses Actipro's SyntaxEditor control (a very polished product); the "IntelliSense" features rely on a combination of libraries from Actipro Software and ICSharpCode (from the SharpDevelop project)"
Od edytora, przez parsery, po kolorowanie tekstu na pewno są dziesiątki bibliotek na wszystkie platformy i języki, wystarczy wygooglować, wyczytać, i zacząć spinać ze sobą. Nie podałeś za bardzo szczegółów

(Sam piszę swoje narzędzie od podstaw, i powiem tylko że jest to dużo pracy)

_________________
używasz Dev-Cpp? tools->editor options -> use tab character (włącz), smart tabs (wyłącz)... albo ściągnij np. Visual Studio C++ free.
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Wyślij email
Luke



Dołączył: 17 Cze 2007
Posty: 1893
Skąd: Szczecin

PostWysłany: Nie Lis 09, 2014 10:17 pm  OP    Temat postu: Odpowiedz z cytatem Pisownia

Nie chcę tego opierać na gotowych kontrolkach z kolorowaniem składni, gotowych kontrolkach podpowiadania składni itp.
Nie chcę robić tego projektu koniecznie do szerokiego użycia, moim priorytetem jest "praca u podstaw" i poznanie GUI "od środka".

lethern napisał:
i zacząć spinać ze sobą.

Właśnie tego chciałbym uniknąć. Tak jak w JavaScripcie we własnych projektach staram się nie korzystać z jQuery (i dzięki temu mam okazję lepiej poznawać tajniki technologii webowych), tutaj chciałbym również operować na tej nieco niższej warstwie. Nie będę potrafił czerpać przyjemności ze spięcia gotowych bibliotek.
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Odwiedź stronę autora
lethern



Dołączył: 09 Paź 2007
Posty: 1106

PostWysłany: Nie Lis 09, 2014 11:06 pm      Temat postu: Odpowiedz z cytatem Pisownia

Więc chcesz w zasadzie pójść podobną drogą co ja. Jednak żeby odpowiedzieć na Twoje pytania, trzeba by przytoczyć już algorytm albo kod, ciężko jakąś radę dać... Nawet jeśli nie chcesz używać gotowców, to właśnie one implementują odpowiedzi na Twoje pytania, prawda? Możesz je zawsze podejrzeć, przy okazji może zobaczysz za wczasu, jak dużo jest rzeczy wokół tych tematów, niewidocznych z początku
Jeśli interesuje Cię kod w C++ z backendem w postaci Skia, mogę Ci podesłać swój kod, mam w nim w pisanie i kolorowanie tekstu, karetka, kopiowanie, jakieś kontrolki... itd. Dodam tylko, że jest to prawie 30k linijek kodu, do "edytora tekstu" jeszcze tam bardzo dużo brakuje

BTW, to ja nie wiem jak programujesz jeśli nie korzystasz z czyjegoś kodu ;)

_________________
używasz Dev-Cpp? tools->editor options -> use tab character (włącz), smart tabs (wyłącz)... albo ściągnij np. Visual Studio C++ free.
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Wyślij email
Luke



Dołączył: 17 Cze 2007
Posty: 1893
Skąd: Szczecin

PostWysłany: Nie Lis 09, 2014 11:30 pm  OP    Temat postu: Odpowiedz z cytatem Pisownia

lethern napisał:
BTW, to ja nie wiem jak programujesz jeśli nie korzystasz z czyjegoś kodu ;)

Nie chcę pisać wszystkiego całkowicie od zera (kurczę, bo nawet asemblery ktoś tam kiedyś napisał).
Po prostu chcę zacząć "poziom niżej" od gotowych kontrolek.

Kod bardzo chętnie przejrzę, choć boję się, że za bardzo mógłbym się na nim wzorować (a plagiatu przecież nie chcemy).
Chętnie przygarnąłbym też jakieś linki do zagadnień związanych z tematem (mam świadomość, jak wiele tego może być) albo chociaż słów kluczowych, pod jakimi tego szukać.
Na razie wiem tylko, że chcę zrobić coś a'la własna kontrolka pola tekstowego, w której mam możliwość wpływania na kolor tekstu i kursor tekstowy, no i jakiś scroll (to tak na początek).
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Odwiedź stronę autora
Olo



Dołączył: 22 Sty 2010
Posty: 170

PostWysłany: Sro Lis 12, 2014 10:13 pm      Temat postu: Odpowiedz z cytatem Pisownia

Design & Implementation of a Win32 Text Editor
Neatpad Text Editor

http://www.catch22.net/tuts/neatpad

Jak po tytule widać wykorzystano specyfikę systemu i z przeniesieniem na inną platformę mogą być problemy (nawet całkiem spore :). Tak czy inaczej, przeczytać warto.

_________________
2 × 2 = 3,999999999997
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
Wyświetl posty z ostatnich:   
Odpowiedz do tematu    Forum Coders' city Strona Główna -> Biblioteki Wszystkie czasy w strefie CET (Europa)

Strona 1 z 1

 
Skocz do:  
Możesz pisać nowe tematy
Możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Możesz dodawać załączniki na tym forum
Możesz pobierać pliki z tego forum




Debug: strone wygenerowano w 0.31975 sekund, zapytan = 11
contact

| Darmowe programy i porady Jelcyna | Tansze zakupy w Helionie | MS Office Blog |