////////////////////////////////////////////////////////////////////////
// Editor2 project
//
// The Quadratic replacement for Notepad and 2xEditor
// By Nikos Bozinis @ 29/09/2001

To mae uaktualnienie dodaje obsug UTF8 i OEM'owych plikw tekstowych. Pliki kodowane UTF8 mog by wykryte automatycznie, ale w przypadku OEM musisz to powiedzie edytorowi za pomoc pola "Pliki typu" w standardowym oknie dialogowym Plik | Otwrz lub przy uyciu nowego przecznika w linii polece /C:n (patrz poniej).

Zaraz po zaadowaniu, informacja o typie pliku jest widoczna w prawym dolnym rogu paska statusu. Podczas zapisu moesz przekonwertowa plik do dowolnego spord obsugiwanych formatw, znw przy uyciu pola "Zapisz jako typ" w oknie dialogowym Plik | Zapisz jako.

Aby wymusi sposb kodowaniu pliku z linii polece uyj przecznika /C wraz z nast. numerem:
	0 windows (domylny)
	1 OEM
	2 UTF8
	3 UNICODE-16

Na przykad polecenie:
	editor2 /C:1 plik.txt
zaaduje plik "plik.txt" zakadajc, e jest on kodowany w standardzie OEM. Zauwa, e jeli plik bdzie mia wany BOM (ang. "byte order mask" - znacznik porzdku bajtw), to bdzie on waniejszy ni sposb kodowania wskazany przecznikiem /C.

UWAGA: jeli zaadowany plik mia wany znacznik porzdku bajtw (BOM) identyfikujcy standard kodowania to edytor uyje go rwnie podczas zapisu. Jeli plik nie posiada znacznika (BOM), to zostanie on rwnie zapisany bez niego.

Oglnie rzecz biorc argumenty linii polece s nastpujce (wszystkie opcjonalne):

	Editor2 /S:<nazwa> /V /E /L:nn /P /C:n <nazwapliku>


Otrzymujesz rwnie o 10 autotekstw wicej. Podobnie do obecnego systemu, ktry wykorzystuje kombinacj <Ctrl+NUMER> aby uy autotekst i <Ctrl+Shift+NUMER> aby zdefiniowa nowy, otrzymujesz o 10 wicej przy uyciu <Alt> zamiast <Ctrl>. Wszystkie menu i dialogi s odpowiednio uaktualnione. Zauwa, e skrty klawiaturowe dla wyboru czcionki pomidzy sta i proporcjonaln musiay si zmieni, aby dopasowa si do nowych autotekstw.


///// WERSJA 2.5

Mino ju troch czasu od ostatniego wydania Editor2  a dokadnie kilka lat. Ta ostatnia wersja nie jest jak wiksz przerbk; gwnie prowadzi ona ten edytor ku bliszej integracji z xplorer'em, kontynuacji 2xExplorer'a. Gwn korzyci jest to, e jego funkcje wyszukiwania s zsynchronizowane z funkcjami xplorer'a. Jeli wyszukujesz jaki tekst w xplorer'ze, te same opcje wyszukiwania s przekazywane do Editor'a i vice-versa. To taka fajna, uyteczna waciwo integracji 2 programw przy jednoczesnym zachowaniu ich jako dwa odzielne.

A wic co jeszcze tu mamy dla pojedynczego uytkownika?



* WIELOWTKOWY SDI (Single Document Interface). Ten techniczny termin oznacza, e mona uruchomi wiele instancji edytora jednoczenie przy minimalnym wpywie na zasoby twojego systemu.Moesz otwiera nowe okna lub klonowa ten sam plik w wielu oknach. Domylnie Editor2 uruchamia si te w trybie pojedynczej instancji o ile nie uyto nowego przecznika linii polece /P (patrz poniej)

* WYSZUKIWANIE I ZASTPOWANIE DZIAA ZE ZNAKAMI BINARNYMI. Okna dialogowe wyszukiwania i zastpowania tekstu mog obecnie zaakceptowa znaki "binarne" takie jak tabulator i znak nowej linii. Moesz je albo wybra spord predefiniowanych znakw albo wpisa je samemu w formie $xx, gdzie xx jest numerem w formie szesnastkowej bajtu, ktry chcesz wprowadzi (np. enter = $0D). Jeli potrzebny Ci pojedynczy znak $, wprowad po prostu $$.

* NOWE ARGUMENTY LINII POLECE. /L:nn zaaduje dokument i przeskoczy do linii nr nn. /P wymusza oddzielny proces  Domylnie Editor2 uruchamia si w trybie pojedynczej instancji. Nie ma niczego takiego co mogoby Ci zachca do wymuszania uruchomienia wielu instancji poniewa stopie wykorzystania pamici pogarsza si wraz z kadym nowo otwartym oknem. Niemniej jednak jest taka moliwo. Oglnie rzecz biorc argumenty linii polece s nastpujce (wszystkie opcjonalne):

	Editor2 /S:<nazwa> /V /E /L:nn /P <nazwapliku>

* PODWJNA ZAKADKA. Pojedyncza zakadka przy uyciu <Ctrl+F8> bya dobra, ale nie wystarczajco dobra, aby mc przeskakiwa pomidzy dwoma punktami. Obecnie polecenie Wstaw zakadk zapamita dwie ostatnio oznaczone zakadkami pozycje, a uycie <F8> spowoduje cykliczne przeskakiwanie pomidzy nimi. Spryciarskie. <Shift+F8> rozszerzy zaznaczenie.

* ZNAJD WSZYSTKIE. Okno dialogowe Znajd posiada opcj znalezienia wszystkich wystpie poszukiwanego acucha znakw. S one podwietlane od razu w caym tekcie. Jest te polecenie likwidacji podwietlenia.

* ZMIANA WIELKOCI LITER. Zamienia litery na due lub mae w zaznaczonym fragmencie, patrz menu Edycja.

* ZEWNTRZNA PRZEGLDARKA. Ta opcja jest konfigurowalna poprzez okno dialogowe Opcje. Wcinicie <F12> zapisuje dokument i otwiera we wskazanej zewntrznej przegldarce (np. w celu podgldu kodu HTML, ktry piszesz). Zauwa, e potrzebna bdzie pena cieka dostpu do przegldarki zewntrznej, a jeli zawiera ona spacje powniene uj j w cudzysw.

Zauwaysz, e wszystkie te nowe funkcje jak i pewne inne (autouzupeniajce si pola typu kombo i inne subtelne poprawki w ergonomii) zwikszyy zawarto cukru w cukrze jeli chodzi o Editor2, ktrego waga podskoczya do tu poniej granicy 100KB. Ale to dobrze wydany pienidz, powiedziabym! Miej zabawy!


///////////////////////// C O  BYO N O W E GO //////////////////////////

Spacerujc po tej samej ziemi, na ktrej Arystoteles zbudowa wszystkie swoje fundamenty dla nauki i logiki, nie mona oprze si rozwaaniom nad regu wyczonego rodka (A lub nie-A), ktre wielki mistrz sformuowa pierwszy z caej ludzkoci. Bdc zamknitym w takiej logiczno-pozytywistycznej ramie umysu, nie trzeba wiele by uzmysowi sobie, ze 300K to zbyt duo jak na podstawowy edytor jakim by 2xEditor. Trzeba wic wykona logiczny krok i usun cay zbdny tuszcz z MFC, tego 10-cio letniego dinozaura wrd bibliotek klas i zastpi go szybk i zwinn implementacj opart na WTL.

(
WTL lub Windows Template Library to "nowy" zestaw lekkich szablonw/klas, ktry obejmuje wikszo aspektw interfejsu uytkownika nowoczesnego programowania okienkowego. By on rozwinity w micros~1 jako rozszerzenie ATL i cho nie jest "oficjalnie" wspierany, to trafia w samo sedno. Gdyby jeszcze tylko posiada funkcjonalno dokujcego paska narzdziowego, to staby si de facto narzdziem do wszystkich aspektw programowania interfejsu uytkownika. Ale pracujemy nad tym...
)

2xEditor == 323,584 bajty; Editor2; == 94,208 bajtw (wersja# 2.0.0.3). Mowa o odchudzaniu! Nie byoby adnej diety bez WTL, dostpnego teraz bez recepty (dziewczyny strzecie si). Nowa wersja upakowuje wicej funkcji ni oryginalny 2xEditor obsugujc jednoczenie wszystkie oryginalne aspekty. 
Oto krtka lista poprawek:

* RICHEDIT v2.0. Editor2 korzysta z nowej wersji windows'owej kontrolki "rich edit control", ktra jest bardziej wszechstronna (jak deklaruje mini$o~1 jest ona teraz napisana w C++, w przeciwiestwie do starej implementacji opartej na Cobol'u :). Przybywa z trikami takimi jak wielopoziomowe "cofnij", lepsze wsparcie dla jzykw azjatyckich, etc. Z drugiej strony wymaga do dziaania obecnoci biblioteki RICHED20.DLL, ktrej moe brakowa w niektrych wczesnych platformach Windows 95. Ale w kocu mamy ju trzecie milenium, wic czas i naprzd.

* WSPARCIE DLA UNIKODU. Chyba najsilniejszym argumentem dla przejcia na najnowsz wersj kontrolki "richedit" jest naturalne wsparcie dla Unikodu. Editor2 automatycznie odczytuje i zapisuje wszystkie tekstowe pliki unikodowe. Przy odczycie jest to automatyczne; przy zapisie upewnij si tylko czy wybrae "tekst Unikod" w oknie "Typ pliku" (okno dialogowe Zachowaj jako) albo rzu okiem na nowy wskanik "UC" na pasku statusu. 
UWAGA: Jeli regularnie uywasz unikodowych plikw tekstowych, zalecam cignicie ze strony internetowej czysto unikodowej wersji programu. Bardziej szczegowe informacje na temat unikodu - patrz sekcja poniej.

* DWA RODZAJE CZCIONEK. Editor2 obsuguje dwa rodzaje czcionek - jedna "staa", druga "proporcjonalna". Moesz dowolnie podstawia swoje wasne definicje dla tych okrele. Prosty mechanizm przeczania ( skrty klawiszowe <Alt+1> i <Alt+2> ) i nowa strona waciwoci zapewniaj maksimum zadowolenia z tej funkcjonalnoci. Teraz idzie to w parze z wyborem oddzielnego schematu kolorw dla trybu "tylko do odczytu" i normalnego trybu edycji.

* WYDAJNE WYSZUKIWANIE. Funkcje wyszukiwania w 2xEditor nie byy porak, ale nowe w Editor2 s nawet lepsze. Moja ulubiona komenda to "Znajd zaznaczenie" <Ctrl+F3>, ktra wspiera teraz poszukiwanie wyrazu znajdujcego si w miejscu kursora bez koniecznoci uprzedniego jego zaznaczenia, to prawdziwy "kop" dla produktywnoci. Zarwno ta, jak i komenda "Znajd nastpny" <F3> maj teraz swoje odpowiedniki z <Shift->, ktre pozwalaj na przeszukiwanie wstecz. Wreszcie, opcje uwzgldniania wielkoci liter i wyszukiwania caych wyrazw s teraz wygodnie umieszczone na pasku narzdzi.

* STATYSTYKA DOKUMENTU. Nowa komenda Pomoc | Statystyka wywietla podstawowe informacje o dokumencie takie jak ilo wyrazw i wierszy. Masz teraz dowd na rozmnaanie si kodu pisanego przez Ciebie, aby zrobi wraenie na szefie.

* AUTOMATYCZNE WYKRYWANIE ADRESW INTERNETOWYCH. Odwiedzanie linkw wykazanych w dokumencie jest teraz oddalone tylko o jedno kliknicie. Domylnie wczone, ale jest w rejestrze warto, ktra to kontroluje.

* WICEJ OPCJI W REJESTRACH. Klucz "HKEY_CURRENT_USER\Software\ZabaraKatranemia Plc\Editor2" posiada wiele rzeczy, ktre moesz kontrolowa, gdy zamkniesz Editor2, takich jak "bFlatToolbar" (nie mgbym Ci powiedzie do czego to suy bez naraenia bezpieczestwa narodowego :). Troch bardziej czarodziejskie s acuchy formatujce polecenie "Wstaw dat" przechowywane w wartociach typu string szCustomDateFormat i szCustomTimeFormat. Np. aby uzyska acuch "ro, Sie 31 94" uyj nastpujcego acucha formatujcego: "ddd',' MMM dd yy". Albo pozostaw je puste, aby uzyska skrcony format daty tak jak jest to ustawione w Panelu Sterowania.

* GOTOWY DO UMIDZYNARODOWIENIA. Wszystkie komunikaty, etc. w Editor2 s przechowywane w plikach rdowych programu, wic przetumaczenie wszystkiego na inne jzyki powinno by "buk z masem". Ochotnicy-entuzjaci narodowoci nieangielskich dajcie zna kim jestecie!


A wic macie. Korzystajc z zaawansowanej nieliniowej technologii (TM) Editor2 zmiady 2xEditor jak komara opitego krwi (cholerstwo!). Jego niskotuszczowa dieta WTL powinna zapewni dugowieczno i rzuci prawdziwe wyzwanie do boju o nagrod za najlepszy stosunek funkcjonalnoci do wielkoci (mocy do wagi) na arenie zastpcw Notatnika (tj. ekwiwalentu GSXR-1000). A to znak tego co nadchodzi. Explorer2 moe by tu za rogiem. Po co pozostawa liniowym kiedy mona sta si kwadratowym?


///////////////////// OGOSZENIE Z WERSJI ORYGINALNEJ //////////////////

Jeszcze jeden zastpca Notatnika? Niezupenie!

Editor2 rozpocz swoje ycie jako wtek osadzony w 2xExplorer'ze R7x (dwupanelowy meneder plikw dla win32, sprawd) przejmujc wszystkie czynnoci zwizane z przegldaniem i edycj. Na powszechne danie jest teraz przeksztacony w oddzieln aplikacj, po przejciu pewnych dostroje i poprawek (np. wsparcie drukowania).

Chocia nie zastpi on twojego gwnego edytora (powiedzmy, do pisania kodu rdowego) to jest on niemniej bardzo kompaktowym i szybkim edytorem (przegldark, ktry moe by doceniony zarwno przez programistw jak i uytkownikw "wieckich". Gwnym celem jest efektywne codzienne uytkowanie uatwione przez nastpujce gwne funkcje:

* Skrty klawiszowe dla wikszoci komend
* Trwao wszystkich stanw/waciwoci programu (rejestr)
* Wydajny mechanizm wyszukiwania i zastpowania, z histori polece wcznie
* Wybr czcionki, ustawienia kolorw i tabulatorw
* Przegldarka heksadecymalna dla hakera
* Przegldarka RTF (tryb "tylko do odczytu")
* Autotekst dla uatwienia  wstawiania otwierajcych/zamykajcych znacznikw HTML i innych tekstw

Naturalnie, otrzymujesz te wszystkie standardowe gadety takie jak paski narzdzi, edycja typu przecignij i upu, zawijanie wierszy, drukowanie, nielimitowany rozmiar pliku i wszystkie inne. Szczeglnie dla programistw wszelkiego pokroju i wszelkich jzykw nastpujce, dodane elementy bd z pewnoci przydatne:

* Kontrola wci
* Dopasowywanie nawiasw (cznie z ostrymi nawiasami <HTML>
* Komenda "Id do wiersza #"
* Wskanik Wiersz/Kolumna
* Zaznaczenie punktu wstawiania


Editor2 korzysta te z argumentw linii polece. Skadnia wyglda nastpujco:

> Editor2 /S:<nazwa> /V /E <nazwapliku>

Wszystkie argumenty s opcjonalne.  <nazwapliku> to, tak jak si spodziewasz, plik do przegldania/edycji. Z drugiej strony opcja "/S:" to niespokojna, maa rzecz, ktra kontroluje nazw klucza rejestru gdzie przechowywane s wszystkie trwae waciwoci (rozmiar okna i caa reszta). Domylnie Editor2 bdzie przechowywa wszystko w "HKEY_CURRENT_USER\Software\ZabaraKatranemia Plc\Editor2"; uycie (np.) argumentu /S:INNY wymusi zapisanie/odczyt waciwoci z "HKEY_CURRENT_USER\Software\ZabaraKatranemia Plc\Editor2INNY" dla odmiany. Nie jest to by moe co co rzuca na kolana, ale moe by do porczne do przechowywania ronych skrtw do Editor2 na pulpicie).

Wreszcie, opcje /V i /E zmuszaj Editor2 do otworzenia si odpowiednio w trybie Odczyt lub Edycja, niezalenie od trybu jaki by zapisany w rejestrach (tj. kiedy go uye po raz ostatni).


///////////////////// W E R S J A  U N I K O D ////////////////////

Chocia wszystkie wersje Editor2 odczytaj i poradz sobie z plikami tekstowymi w unikodzie, to wersja ANSI programu (ktra dziaa na wszystkich platformach Windows, wcznie z 95/98) nie radzi sobie prawidowo z przeszukiwaniem tekstu w sesjach unikodowych. Jeli uywasz WinNT lub 2000, zalecabym cignicie specjalnej unikodowej wersji programu ze strony internetowej (http://personal-pages.ps.ic.ac.uk/~umeca74/). Ona prawidowo poradzi sobie z przeszukiwaniem tekstu ze znakami midzynarodowymi i jest bardziej efektywna poniewa platformy oparte na NT uywaj unikodu wewntrznie.

Zauwa, e oglnie, jeli masz w pojedynczym pliku znaki z ronych jzykw, to jedynym sposobem, aby je zachowa, to zapisanie pliku w formacie unikodowym (wybierz odpowiedni typ w polu "Typ pliku", w oknie dialogowym "Zachowaj jako"). To jest funkcja nowej kontrolki "richedit", ktrej nie mog zmieni.


////////////////////////// SKRTY KLAWISZOWE ////////////////////////

Oprcz skrtw klawiszowych dla polece Editor2 (pokazanych obok pozycji w menu i w podpowiedziach), istniej skrty suce do przemieszczania punktu wstawiania w rone miejsca w obrbie bufora tekstu. Nie fatygowabym si i nie przypomina Ci o klawiszach strzaek PgUp/PgDn, Home/End i podobnych, ale istnieje kilka moe-nie-tak-dobrze-znanych komend przy uyciu klawisza <Control>:

SKRT				OPIS POLECENIA
Ctrl+Left      Przenie kursor o jeden wyraz w lewo
Ctrl+Right     Przenie kursor o jeden wyraz w prawo
Ctrl+PageUp    Przeskocz na sam gr okna
Ctrl+PageDn    Przeskocz na sam d okna
Ctrl+Home      Przejd do pocztku dokumentu
Ctrl+End       Przejd na koniec dokumentu
Ctrl+Delete    Skasuj wyraz po prawej stronie punktu wstawiania

Wszystkie te polecenia mog by czone z klawiszem <Shift> w celu rozszerzenia zaznaczenia do kocowego pooenia punktu wstawiania (karetki).

Przy uyciu myszy, moesz dwukrotnie klikn na wyrazie, aby go automatycznie zaznaczy; potrjne kliknicie zaznaczy ca lini. Zauwa, e zwyky skrt kopiowania <Ctrl+C> skopiuje rwnie ca lini jeli nie bdzie adnego innego zaznaczenia.

Wreszcie, jeli chodzi o polecenia wyszukiwania, <Shift+F3> spowoduje poszukiwanie nastpnego wystpienia w kierunku przeciwnym, a <Ctrl+Shift+F3> bdzie poszukiwao wstecz zaznaczony wyraz lub wyraz znajdujcy si w miejscu kursora.


/////// JAK NA STAE SKOJARZY EDITOR2 Z DOKUMENTAMI TEKSTOWYMI ///////

Moesz skojarzy Editor2 z plikami tekstowymi (*.txt, etc.) tak, eby otwiera nim wszystkie takie pliki w swoim komputerze, jeli chcesz, eby Notatnik ju nigdy wicej nie rujnowa Ci dnia. Wszystko co musisz zrobi to edycja polecenia "otwrz" dla dokumentw tekstowych. W Eksploratorze Windows wybierz Widok|Opcje folderw i przejd do zakadki Typy Plikw. Znajd wpis Dokument tekstowy i kliknij przycisk Edytuj. Nastpnie kliknij dwukrotnie pozycj Otwrz i wpisz: 

     c:\Sciezka_GdzieToMasz\Editor2.exe "%1"

Bardzo WANE jest, aby wpis zawiera argument "%1", eby Editor2 mg prawidowo odczytywa nazwy plikw zawierajce spacje. To chyba najwikszy problem o jakim ludzie mi mwi.


//////////////////////////// L I C E N C J A /////////////////////////////

Editor2 jest darmowy, gratis i za friko. Ale nie przysyaj mi wezwa do sdu, jeli Ci si on nie spodoba (lub jakim kosmicznym zbiegiem okolicznoci zdarzy si, e wyczyci zawarto twojego twardego dysku). Nawet nie myl o sprzedawaniu go za cen wysz ni rozsdny koszt dystrybucji. Jak Ci si podoba taka nieformalna umowa licencyjna?

Ksita, ksiniczki i reszta rodziny krlewskiej, zwycizcy loterii, ludzie na stanowiskach i podobni bogaci ludzie powinni dokona dobrowolnej wpaty jeli okae si, e s uzalenieni od Editor2. Mae datki od mniej fartownych ludzi o gorcym sercu rwnie nie zostan odrzucone. Szczegy na stronie internetowej.
(http://personal-pages.ps.ic.ac.uk/~umeca74/donate.html)


//////////////////////////// Z A S  U G I /////////////////////////////

Editor2 (program znany uprzednio jako 2xEditor) by rozwijany przy uyciu Visual C++ w wersji 6.0 (klasy ATL/WTL) przez Nikos'a Bozinis'a w latach 1999-2001. Gdyby chcia skontaktowa si z autorem z jakimi komentarzami, sugestiami, raportami o bdach lub tylko po to, eby go poklepa po plecach, oto szczegy:

e-mail: mailto:n.bozinis@ic.ac.uk?SUBJECT=Editor2
WWW:    http://www.netez.com/2xExplorer
Forum:  http://www.netez.com/bbs/


