[ADAPTATION] Make existing Column mode operations work with Scintilla 2.01 (in progress).

git-svn-id: svn://svn.tuxfamily.org/svnroot/notepadplus/repository/trunk@528 f5eea248-9336-0410-98b8-ebc06183d4e3
remotes/x64
Don Ho 2009-08-31 00:27:35 +00:00
parent a371d017c1
commit 79eba94cba
9 changed files with 542 additions and 1390 deletions

View File

@ -1,4 +1,6 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!-- Hungarian Language created by György Bata, bagyurek@freestart.hu -->
<!-- For Notepad++ Version 5.5, modified 2009.08.29 -->
<NotepadPlus>
<Native-Langue name = "Magyar">
<Menu>
@ -75,7 +77,7 @@
<Item id = "42018" name = "Makró rögzítése"/>
<Item id = "42019" name = "Rögzítés megállítása"/>
<Item id = "42021" name = "Makró futtatása"/>
<Item id = "42022" name = "Sor megjegyzéssé alakítása/visszaalakítás"/>
<Item id = "42022" name = "Sor megjegyzéssé alakítása és vissza"/>
<Item id = "42023" name = "Megjegyzésblokk készítése"/>
<Item id = "42024" name = "Sorvégi szóközök eltávolítása"/>
<Item id = "42025" name = "A rögzített makró mentése"/>
@ -88,7 +90,7 @@
<Item id = "42032" name = "Makró többszöri futtatása..."/>
<Item id = "42033" name = "Írásvédett attribútum törlése"/>
<Item id = "42035" name = "Sor megjegyzéssé alakítása"/>
<Item id = "42036" name = "Sor visszaalakítása a megjegyzésből"/>
<Item id = "42036" name = "Megjegyzés szimbólum eltávolítása a sorból"/>
<Item id = "43001" name = "Keresés..."/>
<Item id = "43002" name = "Következő keresése"/>
@ -100,7 +102,7 @@
<Item id = "43008" name = "Összes könyvjelző eltávolítása"/>
<Item id = "43009" name = "Ugrás a zárójel párjához"/>
<Item id = "43010" name = "Előző keresése"/>
<Item id = "43011" name = "Növekményes keresés..."/>
<Item id = "43011" name = "Növekményes keresés"/>
<Item id = "43013" name = "Keresés fájlokban..."/>
<Item id = "43014" name = "Következő keresése (felejtő)"/>
<Item id = "43015" name = "Előző keresése (felejtő)"/>
@ -123,7 +125,7 @@
<Item id = "43032" name = "Összes stílusú kiemelés eltávolítása"/>
<Item id = "44009" name = "Ablakkeret nélküli nézet"/>
<Item id = "44010" name = "Minden blokk összecsukása"/>
<Item id = "44011" name = "Egyéni nyelv beállítása"/>
<Item id = "44011" name = "Egyéni nyelv beállítása..."/>
<Item id = "44019" name = "Minden láthatatlan karakter megjelenítése"/>
<Item id = "44020" name = "Behúzás sorvezetőjének megjelenítése"/>
<Item id = "44022" name = "Hosszú sorok tördelése"/>
@ -149,9 +151,9 @@
<Item id = "45005" name = "UTF-8 kódolás"/>
<Item id = "45006" name = "UCS-2 Big Endian kódolás"/>
<Item id = "45007" name = "UCS-2 Little Endian kódolás"/>
<Item id = "45008" name = "UTF-8 kódolás (BOM nélkül)"/>
<Item id = "45008" name = "UTF-8 kódolás BOM nélkül"/>
<Item id = "45009" name = "Átalakítás ANSI kódolásra"/>
<Item id = "45010" name = "Átalakítás UTF-8 kódolásra (BOM nélkül)"/>
<Item id = "45010" name = "Átalakítás UTF-8 kódolásra BOM nélkül"/>
<Item id = "45011" name = "Átalakítás UTF-8 kódolásra"/>
<Item id = "45012" name = "Átalakítás UCS-2 Big Endian kódolásra"/>
<Item id = "45013" name = "Átalakítás UCS-2 Little Endian kódolásra"/>
@ -166,7 +168,7 @@
<Item id = "47000" name = "Névjegy..."/>
<Item id = "47001" name = "Notepad++ honlapja"/>
<Item id = "47002" name = "Notepad++ projekt oldal"/>
<Item id = "47003" name = "Online segítség"/>
<Item id = "47003" name = "NpWiki++ (Online Súgó)"/>
<Item id = "47004" name = "Fórum"/>
<Item id = "47005" name = "További bővítmények"/>
@ -234,7 +236,6 @@
<Item id = "1635" name = "Csere a megnyitott dokumentumokban"/>
<Item id = "1636" name = "Keresés a megnyitott dokumentumokban"/>
<Item id = "1637" name = "Keresés fájlokban"/>
<Item id = "1640" name = "Ablak váltás"/>
<Item id = "1654" name = "Fájlnév szűrő :"/>
<Item id = "1655" name = "Mappa :"/>
<Item id = "1656" name = "Összes keresése"/>
@ -258,14 +259,13 @@
</GoToLine>
<Run title = "Futtatás">
<Item id = "1903" name = "Adja meg a futtatni kívánt programot"/>
<Item id = "1903" name = "A futtatandó program"/>
<Item id = "1" name = "Indítás"/>
<Item id = "2" name = "Mégse"/>
<Item id = "1904" name = "Mentés..."/>
</Run>
<StyleConfig title = "Stílusok beállításai">
<Item id = "1" name = "Előnézet"/>
<Item id = "2" name = "Mégse"/>
<Item id = "2301" name = "Mentés és bezárás"/>
<Item id = "2303" name = "Átlátszó"/>
@ -383,11 +383,6 @@
<Item id = "6219" name = "Villogás:"/>
<Item id = "6221" name = "GY"/>
<Item id = "6222" name = "L"/>
<Item id = "6301" name = "Tabulátor beállításai"/>
<Item id = "6302" name = "Csere szóközre"/>
<Item id = "6303" name = "Tabulátor méret:"/>
<Item id = "6201" name = "Forráskód blokkok stílusa"/>
<Item id = "6202" name = "Egyszerű"/>
<Item id = "6203" name = "Nyíl ikon"/>
@ -404,7 +399,7 @@
<Item id = "6213" name = "Megjelenítés kiemeléssel"/>
<Item id = "6214" name = "Aktuális sor kiemelése"/>
</Scintillas>
<NewDoc title = "Új dokumentum / Mappahasználat">
<NewDoc title = "Új dokumentum / Alapértelmezett mappa">
<Item id = "6419" name = "Új dokumentum"/>
<Item id = "6401" name = "Formátum"/>
<Item id = "6402" name = "Windows"/>
@ -425,10 +420,13 @@
<Item id = "4009" name = "Támogatott kiterj.:"/>
<Item id = "4010" name = "Társított kiterj.:"/>
</FileAssoc>
<LangMenu title = "Nyelv menü">
<LangMenu title = "Nyelv menü / Tabulátor beállítások">
<Item id = "6505" name = "Elérhető nyelvek:"/>
<Item id = "6506" name = "Letiltott nyelvek:"/>
<Item id = "6507" name = "Rövidebb nyelv menü használata"/>
<Item id = "6301" name = "Tabulátor beállításai"/>
<Item id = "6302" name = "Csere szóközre"/>
<Item id = "6303" name = "Tabulátor méret:"/>
</LangMenu>
<Print title = "Nyomtatás">
<Item id = "6601" name = "Sorok számozásának nyomtatása"/>
@ -456,6 +454,7 @@
<Item id = "6722" name = "Jobb oldalon"/>
<Item id = "6723" name = "Hozzáadás"/>
<Item id = "6725" name = "Változó:"/>
<Item id = "6728" name = "Élőfej és Élőláb"/>
</Print>
<MISC title = "Egyéb">
<Item id = "6304" name = "Előzmények beállításai"/>

View File

@ -1,4 +1,6 @@
<?xml version="1.0" encoding="Windows-1252" ?>
<!-- Hungarian Language created by György Bata, bagyurek@freestart.hu -->
<!-- For Notepad++ Version 5.5, modified 2009.08.29 -->
<NotepadPlus>
<Native-Langue name = "Magyar">
<Menu>
@ -75,7 +77,7 @@
<Item id = "42018" name = "Makró rögzítése"/>
<Item id = "42019" name = "Rögzítés megállítása"/>
<Item id = "42021" name = "Makró futtatása"/>
<Item id = "42022" name = "Sor megjegyzéssé alakítása/visszaalakítás"/>
<Item id = "42022" name = "Sor megjegyzéssé alakítása és vissza"/>
<Item id = "42023" name = "Megjegyzésblokk készítése"/>
<Item id = "42024" name = "Sorvégi szóközök eltávolítása"/>
<Item id = "42025" name = "A rögzített makró mentése"/>
@ -88,7 +90,7 @@
<Item id = "42032" name = "Makró többszöri futtatása..."/>
<Item id = "42033" name = "Írásvédett attribútum törlése"/>
<Item id = "42035" name = "Sor megjegyzéssé alakítása"/>
<Item id = "42036" name = "Sor visszaalakítása a megjegyzésből"/>
<Item id = "42036" name = "Megjegyzés szimbólum eltávolítása a sorból"/>
<Item id = "43001" name = "Keresés..."/>
<Item id = "43002" name = "Következő keresése"/>
@ -100,7 +102,7 @@
<Item id = "43008" name = "Összes könyvjelző eltávolítása"/>
<Item id = "43009" name = "Ugrás a zárójel párjához"/>
<Item id = "43010" name = "Előző keresése"/>
<Item id = "43011" name = "Növekményes keresés..."/>
<Item id = "43011" name = "Növekményes keresés"/>
<Item id = "43013" name = "Keresés fájlokban..."/>
<Item id = "43014" name = "Következő keresése (felejtő)"/>
<Item id = "43015" name = "Előző keresése (felejtő)"/>
@ -123,7 +125,7 @@
<Item id = "43032" name = "Összes stílusú kiemelés eltávolítása"/>
<Item id = "44009" name = "Ablakkeret nélküli nézet"/>
<Item id = "44010" name = "Minden blokk összecsukása"/>
<Item id = "44011" name = "Egyéni nyelv beállítása"/>
<Item id = "44011" name = "Egyéni nyelv beállítása..."/>
<Item id = "44019" name = "Minden láthatatlan karakter megjelenítése"/>
<Item id = "44020" name = "Behúzás sorvezetőjének megjelenítése"/>
<Item id = "44022" name = "Hosszú sorok tördelése"/>
@ -149,9 +151,9 @@
<Item id = "45005" name = "UTF-8 kódolás"/>
<Item id = "45006" name = "UCS-2 Big Endian kódolás"/>
<Item id = "45007" name = "UCS-2 Little Endian kódolás"/>
<Item id = "45008" name = "UTF-8 kódolás (BOM nélkül)"/>
<Item id = "45008" name = "UTF-8 kódolás BOM nélkül"/>
<Item id = "45009" name = "Átalakítás ANSI kódolásra"/>
<Item id = "45010" name = "Átalakítás UTF-8 kódolásra (BOM nélkül)"/>
<Item id = "45010" name = "Átalakítás UTF-8 kódolásra BOM nélkül"/>
<Item id = "45011" name = "Átalakítás UTF-8 kódolásra"/>
<Item id = "45012" name = "Átalakítás UCS-2 Big Endian kódolásra"/>
<Item id = "45013" name = "Átalakítás UCS-2 Little Endian kódolásra"/>
@ -166,7 +168,7 @@
<Item id = "47000" name = "Névjegy..."/>
<Item id = "47001" name = "Notepad++ honlapja"/>
<Item id = "47002" name = "Notepad++ projekt oldal"/>
<Item id = "47003" name = "Online segítség"/>
<Item id = "47003" name = "NpWiki++ (Online Súgó)"/>
<Item id = "47004" name = "Fórum"/>
<Item id = "47005" name = "További bővítmények"/>
@ -234,7 +236,6 @@
<Item id = "1635" name = "Csere a megnyitott dokumentumokban"/>
<Item id = "1636" name = "Keresés a megnyitott dokumentumokban"/>
<Item id = "1637" name = "Keresés fájlokban"/>
<Item id = "1640" name = "Ablak váltás"/>
<Item id = "1654" name = "Fájlnév szűrő :"/>
<Item id = "1655" name = "Mappa :"/>
<Item id = "1656" name = "Összes keresése"/>
@ -258,14 +259,13 @@
</GoToLine>
<Run title = "Futtatás">
<Item id = "1903" name = "Adja meg a futtatni kívánt programot"/>
<Item id = "1903" name = "A futtatandó program"/>
<Item id = "1" name = "Indítás"/>
<Item id = "2" name = "Mégse"/>
<Item id = "1904" name = "Mentés..."/>
</Run>
<StyleConfig title = "Stílusok beállításai">
<Item id = "1" name = "Előnézet"/>
<Item id = "2" name = "Mégse"/>
<Item id = "2301" name = "Mentés és bezárás"/>
<Item id = "2303" name = "Átlátszó"/>
@ -383,11 +383,6 @@
<Item id = "6219" name = "Villogás:"/>
<Item id = "6221" name = "GY"/>
<Item id = "6222" name = "L"/>
<Item id = "6301" name = "Tabulátor beállításai"/>
<Item id = "6302" name = "Csere szóközre"/>
<Item id = "6303" name = "Tabulátor méret:"/>
<Item id = "6201" name = "Forráskód blokkok stílusa"/>
<Item id = "6202" name = "Egyszerű"/>
<Item id = "6203" name = "Nyíl ikon"/>
@ -404,7 +399,7 @@
<Item id = "6213" name = "Megjelenítés kiemeléssel"/>
<Item id = "6214" name = "Aktuális sor kiemelése"/>
</Scintillas>
<NewDoc title = "Új dokumentum / Mappahasználat">
<NewDoc title = "Új dokumentum / Alapértelmezett mappa">
<Item id = "6419" name = "Új dokumentum"/>
<Item id = "6401" name = "Formátum"/>
<Item id = "6402" name = "Windows"/>
@ -425,10 +420,13 @@
<Item id = "4009" name = "Támogatott kiterj.:"/>
<Item id = "4010" name = "Társított kiterj.:"/>
</FileAssoc>
<LangMenu title = "Nyelv menü">
<LangMenu title = "Nyelv menü / Tabulátor beállítások">
<Item id = "6505" name = "Elérhető nyelvek:"/>
<Item id = "6506" name = "Letiltott nyelvek:"/>
<Item id = "6507" name = "Rövidebb nyelv menü használata"/>
<Item id = "6301" name = "Tabulátor beállításai"/>
<Item id = "6302" name = "Csere szóközre"/>
<Item id = "6303" name = "Tabulátor méret:"/>
</LangMenu>
<Print title = "Nyomtatás">
<Item id = "6601" name = "Sorok számozásának nyomtatása"/>
@ -456,6 +454,7 @@
<Item id = "6722" name = "Jobb oldalon"/>
<Item id = "6723" name = "Hozzáadás"/>
<Item id = "6725" name = "Változó:"/>
<Item id = "6728" name = "Élőfej és Élőláb"/>
</Print>
<MISC title = "Egyéb">
<Item id = "6304" name = "Előzmények beállításai"/>

View File

@ -10,11 +10,11 @@
<Item id = "2" name = "Іздеу"/>
<Item id = "3" name = "Көрініс"/>
<Item id = "4" name = "Пішім"/>
<Item id = "5" name = "Бағдарлау тілі"/>
<Item id = "5" name = "Бағдарламалық тіл"/>
<Item id = "6" name = "Теңшеу"/>
<Item id = "7" name = "Макростар"/>
<Item id = "8" name = "Жегу"/>
<Item idName = "Plugins" name = "Кеңейтімдер"/>
<Item idName = "Plugins" name = "Қондырмалар"/>
<Item idName = "Window" name = "Терезелер"/>
</Entries>
@ -24,8 +24,8 @@
<Item posX = "1" posY = "10" name = "Шегініс"/>
<Item posX = "1" posY = "11" name = "Үлкен-кішілігін түрлендіру"/>
<Item posX = "1" posY = "12" name = "Жол амалдары"/>
<Item posX = "1" posY = "13" name = "Мәндеме үстеу/аластау"/>
<Item posX = "1" posY = "14" name = "Өздігінен бітіру"/>
<Item posX = "1" posY = "13" name = "Мәндемелеу/Мәндемелемеу"/>
<Item posX = "1" posY = "14" name = "Өздігінен толтыру"/>
<Item posX = "2" posY = "11" name = "Бәрін шендеу"/>
<Item posX = "2" posY = "12" name = "Бәрін шендемеу"/>
<Item posX = "3" posY = "4" name = "Нышандар көрсету"/>
@ -49,9 +49,9 @@
<Item id = "41010" name = "Басып шығару..."/>
<Item id = "1001" name = "Жылдам басып шығару!"/>
<Item id = "41011" name = "Шығу"/>
<Item id = "41012" name = "Сеансты қайта ашу..."/>
<Item id = "41012" name = "Сеансты қайта қотару..."/>
<Item id = "41013" name = "Сеансты сақтау..."/>
<Item id = "41014" name = "Дискіден қайта ашу"/>
<Item id = "41014" name = "Дискіден қайта қотару"/>
<Item id = "41015" name = "Көшірмені басқаша сақтау..."/>
<Item id = "41016" name = "Дискіден жою"/>
<Item id = "41017" name = "Қайта атау..."/>
@ -75,7 +75,7 @@
<Item id = "42018" name = "Макросты жазу"/>
<Item id = "42019" name = "Жазуды тоқтату"/>
<Item id = "42021" name = "Іске қосу"/>
<Item id = "42022" name = "Айрып қосылатын аумақтық мәндеме"/>
<Item id = "42022" name = "Телімдік мәндемені ажыратып қосу"/>
<Item id = "42023" name = "Қатарынан берілетін мәндеме"/>
<Item id = "42024" name = "Артқы бос орындарды кесіп алу"/>
<Item id = "42025" name = "Ағымда жазылған макросты сақтау"/>
@ -87,8 +87,9 @@
<Item id = "42031" name = "Ағымдық қалта жолын аралық сақтағышқа"/>
<Item id = "42032" name = "Макросты бірнеше рет жегу..."/>
<Item id = "42033" name = "Тек оқу үшін төлсипатын өшіру"/>
<Item id = "42035" name = "Аумақ мәндемесі"/>
<Item id = "42036" name = "Аумақ мәндемесін өшіру"/>
<Item id = "42035" name = "Телімді мәндемелеу"/>
<Item id = "42036" name = "Телімді мәндемелемеу"/>
<Item id = "43001" name = "Табу..."/>
<Item id = "43002" name = "Келесісін табу"/>
<Item id = "43003" name = "Ауыстыру..."/>
@ -96,7 +97,7 @@
<Item id = "43005" name = "Бетбелгі айырып қосқышы"/>
<Item id = "43006" name = "Келесі бетбелгі"/>
<Item id = "43007" name = "Алдыңғы бетбелгі"/>
<Item id = "43008" name = "Бетбелгілердің бәрін өшіру"/>
<Item id = "43008" name = "Бетбелгілердің бәрін аластау"/>
<Item id = "43009" name = "Сәйкес жақшаға өту"/>
<Item id = "43010" name = "Алдыңғысын табу"/>
<Item id = "43011" name = "Терумен қадамдас іздеу..."/>
@ -110,18 +111,18 @@
<Item id = "43020" name = "Бетбелгісі бар жолдарға (ауыстрып) қою"/>
<Item id = "43021" name = "Бетбелгісі бар жолдарды жою"/>
<Item id = "43022" name = "1-ші мәнерді қолданып"/>
<Item id = "43023" name = "1-ші мәнерді өшіріп"/>
<Item id = "43023" name = "1-ші мәнерді аластап"/>
<Item id = "43024" name = "2-ші мәнерді қолданып"/>
<Item id = "43025" name = "2-ші мәнерді өшіріп"/>
<Item id = "43025" name = "2-ші мәнерді аластап"/>
<Item id = "43026" name = "3-ші мәнерді қолданып"/>
<Item id = "43027" name = "3-ші мәнерді өшіріп"/>
<Item id = "43027" name = "3-ші мәнерді аластап"/>
<Item id = "43028" name = "4-ші мәнерді қолданып"/>
<Item id = "43029" name = "4-ші мәнерді өшіріп"/>
<Item id = "43029" name = "4-ші мәнерді аластап"/>
<Item id = "43030" name = "5-ші мәнерді қолданып"/>
<Item id = "43031" name = "5-ші мәнерді өшіріп"/>
<Item id = "43032" name = "Мәнерлердің бәрін өшіріп"/>
<Item id = "43031" name = "5-ші мәнерді аластап"/>
<Item id = "43032" name = "Мәнерлердің бәрін аластап"/>
<Item id = "44009" name = "Жапсырмалы"/>
<Item id = "44010" name = "Бәрін үю"/>
<Item id = "44010" name = "Бәрін жинау"/>
<Item id = "44011" name = "Пайдаланушы тағайындаған тілқатысу"/>
<Item id = "44019" name = "Таңбалардың бәрін көрсету"/>
<Item id = "44020" name = "Шегініс бағдарын көрсету"/>
@ -157,49 +158,49 @@
<Item id = "10002" name = "Басқа қойындыға көшіру"/>
<Item id = "10003" name = "Жаңа терезеге жылжыту"/>
<Item id = "10004" name = "Жаңа терезеде ашу"/>
<Item id = "46001" name = "Мәнер ішқұрылымын тағайындау..."/>
<Item id = "46001" name = "Мәнер ішқұрылымы..."/>
<Item id = "46015" name = "MS-DOS мәнері"/>
<Item id = "46016" name = "Кәдімгі мәтін"/>
<Item id = "46017" name = "RC Resource файлы"/>
<Item id = "46019" name = "MS INI файлы"/>
<Item id = "46080" name = "Пайдаланушы тағайындаған"/>
<Item id = "47000" name = "Notepad++ туралы..."/>
<Item id = "47001" name = "Өзіндік бет"/>
<Item id = "47002" name = "Жоба беті"/>
<Item id = "47003" name = "Интернеттегі анықтамасы"/>
<Item id = "47003" name = "Желідегі анықтама"/>
<Item id = "47004" name = "Алқа"/>
<Item id = "47005" name = "Кеңейтімдерді көбірек қотару"/>
<Item id = "47006" name = "Бағдарламаны жаңарту"/>
<Item id = "47005" name = "Қондырмаларды көбірек қотару"/>
<Item id = "47006" name = "Жаңартуларды қотару"/>
<Item id = "47008" name = "Анықтама"/>
<Item id = "48009" name = "Перне тіркесімдері тізімі..."/>
<Item id = "48011" name = "Бапталымдар..."/>
<Item id = "48011" name = "Теңшеу..."/>
<Item id = "49000" name = "Жегу..."/>
<Item id = "50000" name = "Жетелерді бітіру"/>
<Item id = "50001" name = "Сөздерді бітіру"/>
<Item id = "50000" name = "Жетелерді толтыру"/>
<Item id = "50001" name = "Сөздерді толтыру"/>
<Item id = "50002" name = "Жете параметрлері туралы кеңес"/>
<Item id = "42034" name = "Бағандар өңдеуіші..."/>
<Item id = "42034" name = "Бағандар өңдеу..."/>
<Item id = "44042" name = "Жолдарды жасыру"/>
<Item id = "42040" name = "Жуырдағы файлдардың бәрін ашу"/>
<Item id = "42041" name = "Жуырдағы файлдар тізімін өшіру"/>
<Item id = "46080" name = "Пайдаланушы тағайындаған"/>
<Item id = "42041" name = "Жуырдағы файлдар тізімін тазалау"/>
</Commands>
</Main>
<Splitter>
</Splitter>
<TabBar>
<Item order = "0" name = "Мені жап"/>
<Item order = "1" name = "Менен тыс бәрін жап"/>
<Item order = "2" name = "Мені сақта"/>
<Item order = "3" name = "Мені басқаша сақта..."/>
<Item order = "4" name = "Мені басып шығар"/>
<Item order = "0" name = "Бұны жабу"/>
<Item order = "1" name = "Бұндан тыс бәрін жабу"/>
<Item order = "2" name = "Бұны сақтау"/>
<Item order = "3" name = "Бұны басқаша сақта..."/>
<Item order = "4" name = "Бұны басып шығару"/>
<Item order = "5" name = "Басқа қойындыға өту"/>
<Item order = "6" name = "Басқа қойындыға көшіру"/>
<Item order = "7" name = "Файлдың толық жолын аралық сақтағышқа"/>
<Item order = "8" name = "Файл атын аралық сақтағышқа"/>
<Item order = "9" name = "Ағымдық қалта жолын аралық сақтағышқа"/>
<Item order = "10" name = "Мені қайта ата"/>
<Item order = "11" name = "Мені жой"/>
<Item order = "10" name = "Бұны қайта атау"/>
<Item order = "11" name = "Бұны жою"/>
<Item order = "12" name = "Тек оқу үшін"/>
<Item order = "13" name = "Тек оқу үшін төлсипатын өшіру"/>
<Item order = "13" name = "Тек оқу үшін төлсипатын аластау"/>
<Item order = "14" name = "Жаңа терезеге өту"/>
<Item order = "15" name = "Жаңа терезеде ашу"/>
</TabBar>
@ -209,13 +210,13 @@
<Find title = "" titleFind = "Табу" titleReplace = "Ауыстыру" titleFindInFiles = "Файлдардан табу">
<Item id = "1" name = "Келесісін табу"/>
<Item id = "2" name = "Жабу"/>
<Item id = "1620" name = "Не іздеу:"/>
<Item id = "1620" name = "Бұны іздеу:"/>
<Item id = "1603" name = "Тек тұтас сөзді ғана табу"/>
<Item id = "1604" name = "Үлкен-кішілігін ескеріп"/>
<Item id = "1605" name = "Қайталанатын өрнек"/>
<Item id = "1606" name = "Сөздерді тасымалдау"/>
<Item id = "1612" name = "Жоғарыға"/>
<Item id = "1613" name = "Төменге"/>
<Item id = "1612" name = "Жоғарылату"/>
<Item id = "1613" name = "Төмендету"/>
<Item id = "1614" name = "Санақ"/>
<Item id = "1615" name = "Бәрін табу"/>
<Item id = "1616" name = "Жолды шендеу"/>
@ -226,21 +227,21 @@
<Item id = "1608" name = "Ауыстыру"/>
<Item id = "1609" name = "Бәрін ауыстыру"/>
<Item id = "1623" name = "Мөлдірлілік қосу"/>
<Item id = "1687" name = "Енжарда"/>
<Item id = "1688" name = "Әрқашан"/>
<Item id = "1632" name = "Бөлекте"/>
<Item id = "1633" name = "Өшіру"/>
<Item id = "1687" name = "Енжарға"/>
<Item id = "1688" name = "Әрқашанда"/>
<Item id = "1632" name = "Бөлектелгенде"/>
<Item id = "1633" name = "Аластау"/>
<Item id = "1635" name = "Барлық ашық құжаттарда бәрін ауыстыру"/>
<Item id = "1636" name = "Барлық ашық құжаттарда бәрін табу"/>
<Item id = "1637" name = "Файлдардан табу"/>
<Item id = "1640" name = "Аустыруыш тілқатысу"/>
<Item id = "1640" name = "Тілқатысуды ауыстыру"/>
<Item id = "1654" name = "Сүзгілер:"/>
<Item id = "1655" name = "Қалта:"/>
<Item id = "1656" name = "Бұның бәрін табу"/>
<Item id = "1655" name = "Тізімдеме:"/>
<Item id = "1656" name = "Бұлардың бәрін табу"/>
<Item id = "1658" name = "Барлық ішкі қалталарда"/>
<Item id = "1659" name = "Жасырын қалталарда"/>
<Item id = "1624" name = "Іздеу әдісі"/>
<Item id = "1625" name = "Кәдімгі"/>
<Item id = "1625" name = "Қалыпты"/>
<Item id = "1626" name = "Кеңейтілген (\n, \r, \t, \0, \x...)"/>
<Item id = "1660" name = "Файлдарда ауыстыру"/>
<Item id = "1641" name = "Ағымдық құжатта бәрін табу"/>
@ -248,9 +249,9 @@
</Find>
<GoToLine title = "Керек жолға өту">
<Item id = "2007" name = "Жол"/>
<Item id = "2008" name = "Орын ауыстыруы"/>
<Item id = "2008" name = "Ығысуы"/>
<Item id = "1" name = "Өту!"/>
<Item id = "2" name = "Ешқайда бармайымын"/>
<Item id = "2" name = "Ешқайда бармайымыз"/>
<Item id = "2004" name = "Бұнда тұрмыз:"/>
<Item id = "2005" name = "Бұнда барамыз:"/>
<Item id = "2006" name = "Бұдан әрі жол жоқ:"/>
@ -263,8 +264,8 @@
<Item id = "1904" name = "Сақтау..."/>
</Run>
<StyleConfig title = "Мәнер ішқұрылымын тағайындау">
<Item id = "1" name = "Бұны сына көрейік!"/>
<StyleConfig title = "Мәнер ішқұрылымы">
<Item id = "1" name = "Бұны сынай көрейік!"/>
<Item id = "2" name = "Болдырмау"/>
<Item id = "2301" name = "Сақтап жабу"/>
<Item id = "2303" name = "Мөлдірлілік қосу"/>
@ -276,6 +277,9 @@
<Item id = "2207" name = "Өң түсі"/>
<Item id = "2208" name = "Қаріп:"/>
<Item id = "2209" name = "Өлшемі:"/>
<!--
<Item id = "2210" name = "Attention : The definition of this style will be the default definition for all non defined styles"/>\
-->
<Item id = "2211" name = "Мәнер сипаттамасы:"/>
<Item id = "2212" name = "Түс мәнері"/>
<Item id = "2213" name = "Қаріп мәнері"/>
@ -316,24 +320,24 @@
<Item id = "8" name = "Асты сызылған"/>
<Folder title = "Қалталар / Әдепкілер">
<Item id = "21101" name = "Әдепкі мәнерін теңшеу"/>
<Item id = "21201" name = "Қалта ашу кілт сөздерін теңшеу"/>
<Item id = "21301" name = "Қалта жабу кілт сөздерін теңшеу"/>
<Item id = "21201" name = "Қалта ашық кілт сөздерін теңшеу"/>
<Item id = "21301" name = "Қалта жабық кілт сөздерін теңшеу"/>
</Folder>
<Keywords title = "Кілт сөз тізімі">
<Item id = "22101" name = "1-ші топ"/>
<Item id = "22201" name = "2-ші топ"/>
<Item id = "22301" name = "3-ші топ"/>
<Item id = "22401" name = "4-ші топ"/>
<Item id = "22113" name = "Префикс әдісі"/>
<Item id = "22213" name = "Префикс әдісі"/>
<Item id = "22313" name = "Префикс әдісі"/>
<Item id = "22413" name = "Префикс әдісі"/>
<Item id = "22113" name = "Префикс режімі"/>
<Item id = "22213" name = "Префикс режімі"/>
<Item id = "22313" name = "Префикс режімі"/>
<Item id = "22413" name = "Префикс режімі"/>
</Keywords>
<Comment title = "Мәндемелер және нөмірлеу">
<Item id = "23301" name = "Мәндеме жолы"/>
<Item id = "23101" name = "Мәндеме аумағы"/>
<Item id = "23113" name = "Мәндеме ашылуы:"/>
<Item id = "23115" name = "Мәндеме жабылуы:"/>
<Item id = "23301" name = "Жол мәндемесі"/>
<Item id = "23101" name = "Телім мәндемесі"/>
<Item id = "23113" name = "Ашылу мәндемесі:"/>
<Item id = "23115" name = "Жабылу мәндемесі:"/>
<Item id = "23116" name = "Кілт сөз нышан ретінде"/>
<Item id = "23117" name = "Кілт сөздер нышандар ретінде"/>
<Item id = "23201" name = "Нөмірлеу"/>
@ -350,21 +354,22 @@
<Item id = "24314" name = "Шет жабылуы:"/>
</Operator>
</UserDefine>
<Preference title = "Бапталымдар">
<Preference title = "Теңшеу">
<Item id = "6001" name = "Жабу"/>
<Global title = "Жалпы">
<Item id = "6101" name = "Құралдар тақтасы"/>
<Item id = "6101" name = "Құралдар жолағы"/>
<Item id = "6102" name = "Жасыру"/>
<Item id = "6103" name = "Ұсақ белгішелер"/>
<Item id = "6104" name = "Ірі белгішелер"/>
<Item id = "6105" name = "Әдеткі белгішелер"/>
<Item id = "6105" name = "Әдепкі белгішелер"/>
<Item id = "6106" name = "Қойынды тақтасы"/>
<Item id = "6106" name = "Қойынды жолағы"/>
<Item id = "6107" name = "Кішірейту"/>
<Item id = "6108" name = "Бұғаттау (апарып тастатқызбау)"/>
<Item id = "6109" name = "Белсенді емес қойындыларды шиыр."/>
<Item id = "6110" name = "Үстінде қызғылт сары жолақ шиыр."/>
<Item id = "6109" name = "Белсенді емес қойындыларды суреттеу"/>
<Item id = "6110" name = "Үстінде қызғылт сары жолақ суреттеу"/>
<Item id = "6111" name = "Күй жолағы"/>
<Item id = "6112" name = "Жабу түймешігі әрбір қойындыда"/>
<Item id = "6113" name = "Құжат жабу үшін қос нұқу"/>
<Item id = "6118" name = "Жасыру"/>
@ -398,9 +403,9 @@
<Item id = "6209" name = "Баған саны: "/>
<Item id = "6211" name = "Тік шекара теңшелімі"/>
<Item id = "6212" name = "Жол әдісі"/>
<Item id = "6213" name = "Өң әдісі"/>
<Item id = "6214" name = "Белсенді ағымдық жолды бөлектеу"/>
<Item id = "6212" name = "Жол режімі"/>
<Item id = "6213" name = "Өң режімі"/>
<Item id = "6214" name = "Ағымдық жолды жарықтпату"/>
</Scintillas>
<NewDoc title = "Жаңа құжат/Әдепкі қалта">
<Item id = "6419" name = "Жаңа құжат"/>
@ -429,7 +434,7 @@
<Item id = "6506" name = "Өшірілген бірліктер"/>
<Item id = "6507" name = "Бағдарлау тілі мәзірін ықшамдау"/>
</LangMenu>
<Print title = "Басып шығару">
<Print1 title = "Басып шығару: түстер/жақтаулар">
<Item id = "6601" name = "Жол нөмірлерін басып шығару"/>
<Item id = "6602" name = "Түс параметрі"/>
<Item id = "6603" name = "Тура басып шығару"/>
@ -441,6 +446,8 @@
<Item id = "6613" name = "Басына"/>
<Item id = "6614" name = "Оңға"/>
<Item id = "6615" name = "Соңына"/>
</Print1>
<Print2 title = "Басып шығару: деректемелер">
<Item id = "6706" name = "Қалың"/>
<Item id = "6707" name = "Көлбеу"/>
<Item id = "6708" name = "Үстіңгі деректеме"/>
@ -455,7 +462,7 @@
<Item id = "6722" name = "Оң бөлігі"/>
<Item id = "6723" name = "Үстеу"/>
<Item id = "6725" name = "Айнымалы:"/>
</Print>
</Print2>
<MISC title = "Тағы">
<Item id = "6304" name = "Файл тарихы теңшелімі"/>
<Item id = "6305" name = "Іске қосқанда тексермеу"/>
@ -473,11 +480,10 @@
<Item id = "6323" name = "Өздігінен жаңартуды қосу"/>
<Item id = "6324" name = "Құжаттар айырып-қосқышы (Ctrl+TAB)"/>
<Item id = "6326" name = "Ақылды бөлектеуді қосу"/>
<Item id="6329" name="Сәйкес шендерді бөлектеу"/>
<Item id="6329" name="Сәйкес шендерді жарықтату"/>
<Item id="6327" name="Қосу"/>
<Item id="6328" name="Шен төлсипаттарын бөлектеу"/>
<Item id="6330" name="Мәндеме/php/asp аймағын бөлектеу"/>
<Item id="6328" name="Шен төлсипаттарын жарықтату"/>
<Item id="6330" name="Мәндеме/php/asp аймағын жарықтату"/>
<Item id = "6331" name = "Терезе тақырыбында тек файл атын көрсету"/>
<Item id = "6114" name = "Қосу"/>
<Item id = "6115" name = "Өздігінен шегіндіру"/>
@ -490,11 +496,11 @@
<Item id = "6316" name = "Қарапайым сақтық көшірмелеу"/>
<Item id = "6317" name = "Егжей-тегжейлі сақтық көшірмелеу"/>
<Item id = "6804" name = "Сақтық көшірмелеудің пайдаланушы қалтасы"/>
<Item id = "6803" name = "Қалта:"/>
<Item id = "6807" name = "Өздігінен бітіру"/>
<Item id = "6808" name = "Өздігінен бітіруді әр терген кезде қосу"/>
<Item id = "6809" name = "Жетені бітіру"/>
<Item id = "6810" name = "Сөзді бітіру"/>
<Item id = "6803" name = "Тізімдеме:"/>
<Item id = "6807" name = "Өздігінен толтыру"/>
<Item id = "6808" name = "Өздігінен толтыруді әр терген кезде қосу"/>
<Item id = "6809" name = "Жетені толтыру"/>
<Item id = "6810" name = "Сөзді толтыру"/>
<Item id = "6811" name = "Қосылуы"/>
<Item id = "6813" name = " т. тергенде"/>
<Item id = "6814" name = "Шектік мәні: 1 - 9"/>
@ -521,7 +527,7 @@
<Item id = "2033" name = "Кірістірілетін нөмір"/>
<Item id = "2030" name = "Бастауыш нөмір:"/>
<Item id = "2031" name = "Үлкейту қадамы:"/>
<Item id = "2035" name = "Бастапқы нөлдер"/>
<Item id = "2035" name = "Алдыңғы нөлдер"/>
<Item id = "2032" name = "Пішім"/>
<Item id = "2024" name = "Dec"/>
<Item id = "2025" name = "Oct"/>

View File

@ -380,7 +380,7 @@ enum winVer{WV_UNKNOWN, WV_WIN32S, WV_95, WV_98, WV_ME, WV_NT, WV_W2K, WV_XP, WV
//scnNotification->nmhdr.idFrom = BufferID;
#define NPPN_FILESAVED (NPPN_FIRST + 8) // To notify plugins that the current file is just saved
//scnNotification->nmhdr.code = NPPN_FILECLOSED;
//scnNotification->nmhdr.code = NPPN_FILESAVED;
//scnNotification->nmhdr.hwndFrom = hwndNpp;
//scnNotification->nmhdr.idFrom = BufferID;

View File

@ -1926,7 +1926,8 @@ void Notepad_plus::enableCommand(int cmdID, bool doEnable, int which) const
void Notepad_plus::checkClipboard()
{
bool hasSelection = _pEditView->execute(SCI_GETSELECTIONSTART) != _pEditView->execute(SCI_GETSELECTIONEND);
bool hasSelection = (_pEditView->execute(SCI_GETSELECTIONSTART) != _pEditView->execute(SCI_GETSELECTIONEND)) || (_pEditView->execute(SCI_GETSELECTIONS) > 0);
bool canPaste = (_pEditView->execute(SCI_CANPASTE) != 0);
enableCommand(IDM_EDIT_CUT, hasSelection, MENU | TOOLBAR);
enableCommand(IDM_EDIT_COPY, hasSelection, MENU | TOOLBAR);
@ -7133,6 +7134,7 @@ LRESULT Notepad_plus::runProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lPa
_subEditView.execute(SCI_SETMULTIPLESELECTION, true);
_mainEditView.execute(SCI_SETADDITIONALSELECTIONTYPING, true);
_subEditView.execute(SCI_SETADDITIONALSELECTIONTYPING, true);
_mainEditView.execute(SCI_SETVIRTUALSPACEOPTIONS, SCVS_RECTANGULARSELECTION);
_subEditView.execute(SCI_SETVIRTUALSPACEOPTIONS, SCVS_RECTANGULARSELECTION);

View File

@ -261,38 +261,6 @@ LRESULT ScintillaEditView::scintillaNew_Proc(HWND hwnd, UINT Message, WPARAM wPa
{
switch (Message)
{
/*
case WM_CHAR :
{
if (execute(SCI_SELECTIONISRECTANGLE) && !(::GetKeyState(VK_LCONTROL) & 0x80000000))
{
if (wParam != VK_ESCAPE)
{
execute(SCI_BEGINUNDOACTION);
ColumnModeInfo colInfos = getColumnModeSelectInfo();
generic_string str(1, (TCHAR)wParam);
columnReplace(colInfos, str.c_str());
int selStart = execute(SCI_GETSELECTIONSTART)+1;
int selEnd = execute(SCI_GETSELECTIONEND);
execute(SCI_SETSELECTIONSTART, selStart);
execute(SCI_SETSELECTIONEND, selEnd);
execute(SCI_ENDUNDOACTION);
execute(SCI_SETCURRENTPOS,colInfos[colInfos.size()-1].second);
}
else
{
int pos = execute(SCI_GETSELECTIONSTART);
execute(SCI_SETSEL, pos, pos);
}
return TRUE;
}
break;
}
*/
case WM_MOUSEHWHEEL :
{
::CallWindowProc(_scintillaDefaultProc, hwnd, WM_HSCROLL, ((short)HIWORD(wParam) > 0)?SB_LINERIGHT:SB_LINELEFT, NULL);
@ -2077,85 +2045,109 @@ const char * ScintillaEditView::getCompleteKeywordList(std::basic_string<char> &
return kwl.c_str();
}
void ScintillaEditView::setMultiSelections(const ColumnModeInfos & cmi)
{
for (size_t i = 0 ; i < cmi.size() ; i++)
{
if (cmi[i].isValid())
{
int selStart = cmi[i]._direction == L2R?cmi[i]._selLpos:cmi[i]._selRpos;
int selEnd = cmi[i]._direction == L2R?cmi[i]._selRpos:cmi[i]._selLpos;
execute(SCI_SETSELECTIONNSTART, i, selStart);
execute(SCI_SETSELECTIONNEND, i, selEnd);
}
//if (cmi[i].hasVirtualSpace())
//{
if (cmi[i]._nbVirtualAnchorSpc)
execute(SCI_SETSELECTIONNANCHORVIRTUALSPACE, i, cmi[i]._nbVirtualAnchorSpc);
if (cmi[i]._nbVirtualCaretSpc)
execute(SCI_SETSELECTIONNCARETVIRTUALSPACE, i, cmi[i]._nbVirtualCaretSpc);
//}
}
}
void ScintillaEditView::convertSelectedTextTo(bool Case)
{
unsigned int codepage = _codepage;
UniMode um = getCurrentBuffer()->getUnicodeMode();
if (um != uni8Bit)
codepage = CP_UTF8;
unsigned int codepage = _codepage;
UniMode um = getCurrentBuffer()->getUnicodeMode();
if (um != uni8Bit)
codepage = CP_UTF8;
if (execute(SCI_SELECTIONISRECTANGLE))
{
execute(SCI_BEGINUNDOACTION);
if (execute(SCI_GETSELECTIONS) > 1) // Multi-Selection || Column mode
{
execute(SCI_BEGINUNDOACTION);
//int selStart = execute(SCI_GETSELECTIONSTART);
//int selEnd = execute(SCI_GETSELECTIONEND);
ColumnModeInfos cmi = getColumnModeSelectInfo();
for (size_t i = 0 ; i < cmi.size() ; i++)
{
const int len = cmi[i]._selRpos - cmi[i]._selLpos;
char *srcStr = new char[len+1];
wchar_t *destStr = new wchar_t[len+1];
int selStart = execute(SCI_GETSELECTIONSTART);
int selEnd = execute(SCI_GETSELECTIONEND);
int start = cmi[i]._selLpos;
int end = cmi[i]._selRpos;
getText(srcStr, start, end);
int nbChar = ::MultiByteToWideChar(codepage, 0, srcStr, len, destStr, len);
for (int j = 0 ; j < nbChar ; j++)
{
if (Case == UPPERCASE)
destStr[j] = (wchar_t)::CharUpperW((LPWSTR)destStr[j]);
else
destStr[j] = (wchar_t)::CharLowerW((LPWSTR)destStr[j]);
}
::WideCharToMultiByte(codepage, 0, destStr, len, srcStr, len, NULL, NULL);
execute(SCI_SETTARGETSTART, start);
execute(SCI_SETTARGETEND, end);
execute(SCI_REPLACETARGET, (WPARAM)-1, (LPARAM)srcStr);
ColumnModeInfo cmi = getColumnModeSelectInfo();
const int len = cmi[0].second - cmi[0].first;
char *srcStr = new char[len+1];
wchar_t *destStr = new wchar_t[len+3];
for (size_t i = 0 ; i < cmi.size() ; i++)
{
int start = cmi[i].first;
int end = cmi[i].second;
getText(srcStr, start, end);
delete [] srcStr;
delete [] destStr;
}
int nbChar = ::MultiByteToWideChar(codepage, 0, srcStr, len, destStr, len);
setMultiSelections(cmi);
//execute(SCI_SETSELECTIONSTART, selStart);
//execute(SCI_SETSELECTIONEND, selEnd);
execute(SCI_ENDUNDOACTION);
return;
}
for (int j = 0 ; j < nbChar ; j++)
{
if (Case == UPPERCASE)
destStr[j] = (wchar_t)::CharUpperW((LPWSTR)destStr[j]);
else
destStr[j] = (wchar_t)::CharLowerW((LPWSTR)destStr[j]);
}
::WideCharToMultiByte(codepage, 0, destStr, len, srcStr, len, NULL, NULL);
execute(SCI_SETTARGETSTART, start);
execute(SCI_SETTARGETEND, end);
execute(SCI_REPLACETARGET, (WPARAM)-1, (LPARAM)srcStr);
}
delete [] srcStr;
delete [] destStr;
execute(SCI_SETSELECTIONSTART, selStart);
execute(SCI_SETSELECTIONEND, selEnd);
execute(SCI_ENDUNDOACTION);
return;
}
size_t selectionStart = execute(SCI_GETSELECTIONSTART);
size_t selectionEnd = execute(SCI_GETSELECTIONEND);
size_t selectionStart = execute(SCI_GETSELECTIONSTART);
size_t selectionEnd = execute(SCI_GETSELECTIONEND);
int strSize = ((selectionEnd > selectionStart)?(selectionEnd - selectionStart):(selectionStart - selectionEnd))+1;
if (strSize)
{
char *selectedStr = new char[strSize+1];
int strWSize = strSize * 2;
wchar_t *selectedStrW = new wchar_t[strWSize+3];
int strSize = ((selectionEnd > selectionStart)?(selectionEnd - selectionStart):(selectionStart - selectionEnd))+1;
if (strSize)
{
char *selectedStr = new char[strSize+1];
int strWSize = strSize * 2;
wchar_t *selectedStrW = new wchar_t[strWSize+3];
execute(SCI_GETSELTEXT, 0, (LPARAM)selectedStr);
execute(SCI_GETSELTEXT, 0, (LPARAM)selectedStr);
int nbChar = ::MultiByteToWideChar(codepage, 0, selectedStr, strSize, selectedStrW, strWSize);
int nbChar = ::MultiByteToWideChar(codepage, 0, selectedStr, strSize, selectedStrW, strWSize);
for (int i = 0 ; i < nbChar ; i++)
{
if (Case == UPPERCASE)
selectedStrW[i] = (WCHAR)::CharUpperW((LPWSTR)selectedStrW[i]);
else
selectedStrW[i] = (WCHAR)::CharLowerW((LPWSTR)selectedStrW[i]);
}
::WideCharToMultiByte(codepage, 0, selectedStrW, strWSize, selectedStr, strSize, NULL, NULL);
for (int i = 0 ; i < nbChar ; i++)
{
if (Case == UPPERCASE)
selectedStrW[i] = (WCHAR)::CharUpperW((LPWSTR)selectedStrW[i]);
else
selectedStrW[i] = (WCHAR)::CharLowerW((LPWSTR)selectedStrW[i]);
}
::WideCharToMultiByte(codepage, 0, selectedStrW, strWSize, selectedStr, strSize, NULL, NULL);
execute(SCI_REPLACESEL, strSize, (LPARAM)selectedStr);
execute(SCI_SETSEL, selectionStart, selectionEnd);
delete [] selectedStr;
delete [] selectedStrW;
}
execute(SCI_REPLACESEL, strSize, (LPARAM)selectedStr);
execute(SCI_SETSEL, selectionStart, selectionEnd);
delete [] selectedStr;
delete [] selectedStrW;
}
}
@ -2228,85 +2220,88 @@ TCHAR * int2str(TCHAR *str, int strLen, int number, int base, int nbChiffre, boo
return str;
}
ColumnModeInfo ScintillaEditView::getColumnModeSelectInfo()
ColumnModeInfos ScintillaEditView::getColumnModeSelectInfo()
{
ColumnModeInfo columnModeInfo;
if (execute(SCI_SELECTIONISRECTANGLE))
ColumnModeInfos columnModeInfos;
if (execute(SCI_GETSELECTIONS) > 1) // Multi-Selection || Column mode
{
int selStartAbsPos = execute(SCI_GETSELECTIONSTART);
int selEndAbsPos = execute(SCI_GETSELECTIONEND);
int nbSel = execute(SCI_GETSELECTIONS);
int startCol = execute(SCI_GETCOLUMN, selStartAbsPos);
int endCol = execute(SCI_GETCOLUMN, selEndAbsPos);
int startLine = execute(SCI_LINEFROMPOSITION, selStartAbsPos);
int endLine = execute(SCI_LINEFROMPOSITION, selEndAbsPos);
if (endCol < startCol)// another way of selection
for (int i = 0 ; i < nbSel ; i++)
{
int tmp = startCol;
startCol = endCol;
endCol = tmp;
selStartAbsPos = execute(SCI_FINDCOLUMN, startLine, startCol);
selEndAbsPos = execute(SCI_FINDCOLUMN, endLine, endCol);
}
bool zeroCharSelMode = true;
for (int i = startLine ; i <= endLine ; i++)
{
int absPosSelStartPerLine = execute(SCI_FINDCOLUMN, i, startCol);
int absPosSelEndPerLine = execute(SCI_FINDCOLUMN, i, endCol);
if (absPosSelStartPerLine != absPosSelEndPerLine)
{
zeroCharSelMode = false;
}
columnModeInfo.push_back(pair<int, int>(absPosSelStartPerLine, absPosSelEndPerLine));
}
if (!zeroCharSelMode)
{
for (int i = columnModeInfo.size() - 1 ; i >= 0 ; i--)
int absPosSelStartPerLine = execute(SCI_GETSELECTIONNANCHOR, i);
int absPosSelEndPerLine = execute(SCI_GETSELECTIONNCARET, i);
int nbVirtualAnchorSpc = execute(SCI_GETSELECTIONNANCHORVIRTUALSPACE, i);
int nbVirtualCaretSpc = execute(SCI_GETSELECTIONNCARETVIRTUALSPACE, i);
if (absPosSelStartPerLine == absPosSelEndPerLine && execute(SCI_SELECTIONISRECTANGLE))
{
ColumnModeInfo::iterator it = columnModeInfo.begin() + i;
if (it->first == it->second)
columnModeInfo.erase(it);
bool dir = nbVirtualAnchorSpc<nbVirtualCaretSpc?L2R:R2L;
columnModeInfos.push_back(ColumnModeInfo(absPosSelStartPerLine, absPosSelEndPerLine, i, dir, nbVirtualAnchorSpc, nbVirtualCaretSpc));
}
else if (absPosSelStartPerLine > absPosSelEndPerLine)
columnModeInfos.push_back(ColumnModeInfo(absPosSelEndPerLine, absPosSelStartPerLine, i, R2L, nbVirtualAnchorSpc, nbVirtualCaretSpc));
else
columnModeInfos.push_back(ColumnModeInfo(absPosSelStartPerLine, absPosSelEndPerLine, i, L2R, nbVirtualAnchorSpc, nbVirtualCaretSpc));
}
}
return columnModeInfo;
return columnModeInfos;
}
void ScintillaEditView::columnReplace(ColumnModeInfo & cmi, const TCHAR *str)
void ScintillaEditView::columnReplace(ColumnModeInfos & cmi, const TCHAR *str)
{
//for (int i = (int)cmi.size() - 1 ; i >= 0 ; i--)
int totalDiff = 0;
for (size_t i = 0 ; i < cmi.size() ; i++)
{
int len2beReplace = cmi[i].second - cmi[i].first;
int diff = lstrlen(str) - len2beReplace;
if (cmi[i].isValid())
{
int len2beReplace = cmi[i]._selRpos - cmi[i]._selLpos;
int diff = lstrlen(str) - len2beReplace;
cmi[i].first += totalDiff;
cmi[i].second += totalDiff;
cmi[i]._selLpos += totalDiff;
cmi[i]._selRpos += totalDiff;
bool hasVirtualSpc = cmi[i]._nbVirtualAnchorSpc > 0;
execute(SCI_SETTARGETSTART, cmi[i].first);
execute(SCI_SETTARGETEND, cmi[i].second);
if (hasVirtualSpc) // if virtual space is present, then insert space
{
for (int j = 0, k = cmi[i]._selLpos; j < cmi[i]._nbVirtualCaretSpc ; j++, k++)
{
execute(SCI_INSERTTEXT, k, (LPARAM)" ");
}
cmi[i]._selLpos += cmi[i]._nbVirtualAnchorSpc;
cmi[i]._selRpos += cmi[i]._nbVirtualCaretSpc;
}
execute(SCI_SETTARGETSTART, cmi[i]._selLpos);
execute(SCI_SETTARGETEND, cmi[i]._selRpos);
#ifdef UNICODE
WcharMbcsConvertor *wmc = WcharMbcsConvertor::getInstance();
unsigned int cp = execute(SCI_GETCODEPAGE);
const char *strA = wmc->wchar2char(str, cp);
execute(SCI_REPLACETARGET, (WPARAM)-1, (LPARAM)strA);
WcharMbcsConvertor *wmc = WcharMbcsConvertor::getInstance();
unsigned int cp = execute(SCI_GETCODEPAGE);
const char *strA = wmc->wchar2char(str, cp);
execute(SCI_REPLACETARGET, (WPARAM)-1, (LPARAM)strA);
#else
execute(SCI_REPLACETARGET, (WPARAM)-1, (LPARAM)str);
execute(SCI_REPLACETARGET, (WPARAM)-1, (LPARAM)str);
#endif
totalDiff += diff;
cmi[i].second += diff;
if (hasVirtualSpc)
{
totalDiff += cmi[i]._nbVirtualAnchorSpc + lstrlen(str);
// Now there's no more virtual space
cmi[i]._nbVirtualAnchorSpc = 0;
cmi[i]._nbVirtualCaretSpc = 0;
}
else
{
totalDiff += diff;
}
cmi[i]._selRpos += diff;
}
}
}
void ScintillaEditView::columnReplace(ColumnModeInfo & cmi, int initial, int incr, UCHAR format)
void ScintillaEditView::columnReplace(ColumnModeInfos & cmi, int initial, int incr, UCHAR format)
{
// 0000 00 00 : Dec BASE_10
// 0000 00 01 : Hex BASE_16
@ -2341,27 +2336,30 @@ void ScintillaEditView::columnReplace(ColumnModeInfo & cmi, int initial, int inc
int totalDiff = 0;
for (size_t i = 0 ; i < cmi.size() ; i++)
{
int len2beReplace = cmi[i].second - cmi[i].first;
int diff = nb - len2beReplace;
if (cmi[i].isValid())
{
int len2beReplace = cmi[i]._selRpos - cmi[i]._selLpos;
int diff = nb - len2beReplace;
cmi[i].first += totalDiff;
cmi[i].second += totalDiff;
cmi[i]._selLpos += totalDiff;
cmi[i]._selRpos += totalDiff;
int2str(str, stringSize, initial, base, nb, isZeroLeading);
execute(SCI_SETTARGETSTART, cmi[i].first);
execute(SCI_SETTARGETEND, cmi[i].second);
int2str(str, stringSize, initial, base, nb, isZeroLeading);
execute(SCI_SETTARGETSTART, cmi[i]._selLpos);
execute(SCI_SETTARGETEND, cmi[i]._selRpos);
#ifdef UNICODE
WcharMbcsConvertor *wmc = WcharMbcsConvertor::getInstance();
unsigned int cp = execute(SCI_GETCODEPAGE);
const char *strA = wmc->wchar2char(str, cp);
execute(SCI_REPLACETARGET, (WPARAM)-1, (LPARAM)strA);
WcharMbcsConvertor *wmc = WcharMbcsConvertor::getInstance();
unsigned int cp = execute(SCI_GETCODEPAGE);
const char *strA = wmc->wchar2char(str, cp);
execute(SCI_REPLACETARGET, (WPARAM)-1, (LPARAM)strA);
#else
execute(SCI_REPLACETARGET, (WPARAM)-1, (LPARAM)str);
execute(SCI_REPLACETARGET, (WPARAM)-1, (LPARAM)str);
#endif
initial += incr;
totalDiff += diff;
cmi[i].second += diff;
initial += incr;
totalDiff += diff;
cmi[i]._selRpos += diff;
}
}
}

View File

@ -92,7 +92,7 @@ const bool fold_collapse = false;
const bool UPPERCASE = true;
const bool LOWERCASE = false;
typedef vector<pair<int, int> > ColumnModeInfo;
const UCHAR MASK_FORMAT = 0x03;
const UCHAR MASK_ZERO_LEADING = 0x04;
const UCHAR BASE_10 = 0x00; // Dec
@ -116,6 +116,33 @@ TCHAR * int2str(TCHAR *str, int strLen, int number, int base, int nbChiffre, boo
typedef LRESULT (WINAPI *CallWindowProcFunc) (WNDPROC,HWND,UINT,WPARAM,LPARAM);
const bool L2R = true;
const bool R2L = false;
struct ColumnModeInfo {
int _selLpos;
int _selRpos;
int _order; // 0 based index
bool _direction; // L2R or R2L
int _nbVirtualCaretSpc;
int _nbVirtualAnchorSpc;
ColumnModeInfo() : _selLpos(0), _selRpos(0), _order(-1), _direction(L2R), _nbVirtualAnchorSpc(0), _nbVirtualCaretSpc(0){};
ColumnModeInfo(int lPos, int rPos, int order, bool dir = L2R, int vAnchorNbSpc = 0, int vCaretNbSpc = 0)
: _selLpos(lPos), _selRpos(rPos), _order(order), _direction(dir), _nbVirtualAnchorSpc(vAnchorNbSpc), _nbVirtualCaretSpc(vCaretNbSpc){};
bool isValid() const {
return (_order >= 0 && _selLpos >= 0 && _selRpos >= 0 && _selLpos <= _selRpos);
};
/*
bool hasVirtualSpace() const {
return (_nbVirtualCaretSpc >= 0 && _nbVirtualAnchorSpc >= 0);
};
*/
};
typedef vector<ColumnModeInfo> ColumnModeInfos;
struct LanguageName {
const TCHAR * lexerName;
const TCHAR * shortName;
@ -446,6 +473,7 @@ public:
};
void convertSelectedTextTo(bool Case);
void setMultiSelections(const ColumnModeInfos & cmi);
void convertSelectedTextToLowerCase() {
// if system is w2k or xp
@ -472,10 +500,10 @@ public:
return _pParameter;
};
ColumnModeInfo getColumnModeSelectInfo();
ColumnModeInfos getColumnModeSelectInfo();
void columnReplace(ColumnModeInfo & cmi, const TCHAR *str);
void columnReplace(ColumnModeInfo & cmi, int initial, int incr, UCHAR format);
void columnReplace(ColumnModeInfos & cmi, const TCHAR *str);
void columnReplace(ColumnModeInfos & cmi, int initial, int incr, UCHAR format);
void foldChanged(int line, int levelNow, int levelPrev);
void clearIndicator(int indicatorNumber) {

View File

@ -19,6 +19,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#include "columnEditor.h"
/*
BOOL CALLBACK ColumnEditorDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM)
{
switch (message)
@ -63,9 +64,9 @@ BOOL CALLBACK ColumnEditorDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM)
if ((*_ppEditView)->execute(SCI_SELECTIONISRECTANGLE))
{
ColumnModeInfo colInfos = (*_ppEditView)->getColumnModeSelectInfo();
ColumnModeInfos colInfos = (*_ppEditView)->getColumnModeSelectInfo();
(*_ppEditView)->columnReplace(colInfos, str);
(*_ppEditView)->execute(SCI_SETCURRENTPOS,colInfos[colInfos.size()-1].second);
(*_ppEditView)->execute(SCI_SETCURRENTPOS,colInfos[colInfos.size()-1]._selRpos);
}
else
{
@ -120,9 +121,9 @@ BOOL CALLBACK ColumnEditorDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM)
if ((*_ppEditView)->execute(SCI_SELECTIONISRECTANGLE))
{
ColumnModeInfo colInfos = (*_ppEditView)->getColumnModeSelectInfo();
ColumnModeInfos colInfos = (*_ppEditView)->getColumnModeSelectInfo();
(*_ppEditView)->columnReplace(colInfos, initialNumber, increaseNumber, format);
(*_ppEditView)->execute(SCI_SETCURRENTPOS,colInfos[colInfos.size()-1].second);
(*_ppEditView)->execute(SCI_SETCURRENTPOS,colInfos[colInfos.size()-1]._selRpos);
}
else
{
@ -170,9 +171,219 @@ BOOL CALLBACK ColumnEditorDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM)
(*_ppEditView)->getGenericText(line, lineBegin, lineEnd);
generic_string s2r(line);
/*
Calcule generic_string
*/
//Calcule generic_string
int2str(str, stringSize, initialNumber, base, nb, isZeroLeading);
initialNumber += increaseNumber;
if (lineEndCol < cursorCol)
{
generic_string s_space(cursorCol - lineEndCol, ' ');
s2r.append(s_space);
s2r.append(str);
}
else
{
int posAbs2Start = (*_ppEditView)->execute(SCI_FINDCOLUMN, i, cursorCol);
int posRelative2Start = posAbs2Start - lineBegin;
s2r.insert(posRelative2Start, str);
}
(*_ppEditView)->replaceTarget(s2r.c_str(), lineBegin, lineEnd);
}
delete [] line;
}
}
(*_ppEditView)->execute(SCI_ENDUNDOACTION);
(*_ppEditView)->getFocus();
return TRUE;
}
case IDC_COL_TEXT_RADIO :
case IDC_COL_NUM_RADIO :
{
switchTo((wParam == IDC_COL_TEXT_RADIO)? activeText : activeNumeric);
return TRUE;
}
default :
{
switch (HIWORD(wParam))
{
case EN_SETFOCUS :
case BN_SETFOCUS :
//updateLinesNumbers();
return TRUE;
default :
return TRUE;
}
break;
}
}
}
default :
return FALSE;
}
//return FALSE;
}
*/
BOOL CALLBACK ColumnEditorDlg::run_dlgProc(UINT message, WPARAM wParam, LPARAM)
{
switch (message)
{
case WM_INITDIALOG :
{
switchTo(activeText);
::SendDlgItemMessage(_hSelf, IDC_COL_DEC_RADIO, BM_SETCHECK, TRUE, 0);
goToCenter();
NppParameters *pNppParam = NppParameters::getInstance();
ETDTProc enableDlgTheme = (ETDTProc)pNppParam->getEnableThemeDlgTexture();
if (enableDlgTheme)
{
enableDlgTheme(_hSelf, ETDT_ENABLETAB);
redraw();
}
return TRUE;
}
case WM_COMMAND :
{
switch (wParam)
{
case IDCANCEL : // Close
display(false);
return TRUE;
case IDOK :
{
(*_ppEditView)->execute(SCI_BEGINUNDOACTION);
const int stringSize = 1024;
TCHAR str[stringSize];
bool isTextMode = (BST_CHECKED == ::SendDlgItemMessage(_hSelf, IDC_COL_TEXT_RADIO, BM_GETCHECK, 0, 0));
if (isTextMode)
{
::SendDlgItemMessage(_hSelf, IDC_COL_TEXT_EDIT, WM_GETTEXT, stringSize, (LPARAM)str);
display(false);
if ((*_ppEditView)->execute(SCI_SELECTIONISRECTANGLE))
{
ColumnModeInfos colInfos = (*_ppEditView)->getColumnModeSelectInfo();
(*_ppEditView)->columnReplace(colInfos, str);
(*_ppEditView)->setMultiSelections(colInfos);
}
else
{
int cursorPos = (*_ppEditView)->execute(SCI_GETCURRENTPOS);
int cursorCol = (*_ppEditView)->execute(SCI_GETCOLUMN, cursorPos);
int cursorLine = (*_ppEditView)->execute(SCI_LINEFROMPOSITION, cursorPos);
int endPos = (*_ppEditView)->execute(SCI_GETLENGTH);
int endLine = (*_ppEditView)->execute(SCI_LINEFROMPOSITION, endPos);
int lineAllocatedLen = 1024;
TCHAR *line = new TCHAR[lineAllocatedLen];
for (int i = cursorLine ; i <= endLine ; i++)
{
int lineBegin = (*_ppEditView)->execute(SCI_POSITIONFROMLINE, i);
int lineEnd = (*_ppEditView)->execute(SCI_GETLINEENDPOSITION, i);
int lineEndCol = (*_ppEditView)->execute(SCI_GETCOLUMN, lineEnd);
int lineLen = lineEnd - lineBegin + 1;
if (lineLen > lineAllocatedLen)
{
delete [] line;
line = new TCHAR[lineLen];
}
(*_ppEditView)->getGenericText(line, lineBegin, lineEnd);
generic_string s2r(line);
if (lineEndCol < cursorCol)
{
generic_string s_space(cursorCol - lineEndCol, ' ');
s2r.append(s_space);
s2r.append(str);
}
else
{
int posAbs2Start = (*_ppEditView)->execute(SCI_FINDCOLUMN, i, cursorCol);
int posRelative2Start = posAbs2Start - lineBegin;
s2r.insert(posRelative2Start, str);
}
(*_ppEditView)->replaceTarget(s2r.c_str(), lineBegin, lineEnd);
}
delete [] line;
}
}
else
{
int initialNumber = ::GetDlgItemInt(_hSelf, IDC_COL_INITNUM_EDIT, NULL, TRUE);
int increaseNumber = ::GetDlgItemInt(_hSelf, IDC_COL_INCREASENUM_EDIT, NULL, TRUE);
UCHAR format = getFormat();
display(false);
if ((*_ppEditView)->execute(SCI_SELECTIONISRECTANGLE))
{
ColumnModeInfos colInfos = (*_ppEditView)->getColumnModeSelectInfo();
(*_ppEditView)->columnReplace(colInfos, initialNumber, increaseNumber, format);
//(*_ppEditView)->execute(SCI_SETCURRENTPOS,colInfos[colInfos.size()-1]._selRpos);
(*_ppEditView)->setMultiSelections(colInfos);
}
else
{
int cursorPos = (*_ppEditView)->execute(SCI_GETCURRENTPOS);
int cursorCol = (*_ppEditView)->execute(SCI_GETCOLUMN, cursorPos);
int cursorLine = (*_ppEditView)->execute(SCI_LINEFROMPOSITION, cursorPos);
int endPos = (*_ppEditView)->execute(SCI_GETLENGTH);
int endLine = (*_ppEditView)->execute(SCI_LINEFROMPOSITION, endPos);
int lineAllocatedLen = 1024;
TCHAR *line = new TCHAR[lineAllocatedLen];
UCHAR f = format & MASK_FORMAT;
bool isZeroLeading = (MASK_ZERO_LEADING & format) != 0;
int base = 10;
if (f == BASE_16)
base = 16;
else if (f == BASE_08)
base = 8;
else if (f == BASE_02)
base = 2;
int nbLine = endLine - cursorLine + 1;
int endNumber = initialNumber + increaseNumber * (nbLine - 1);
int nbEnd = getNbDigits(endNumber, base);
int nbInit = getNbDigits(initialNumber, base);
int nb = max(nbInit, nbEnd);
for (int i = cursorLine ; i <= endLine ; i++)
{
int lineBegin = (*_ppEditView)->execute(SCI_POSITIONFROMLINE, i);
int lineEnd = (*_ppEditView)->execute(SCI_GETLINEENDPOSITION, i);
int lineEndCol = (*_ppEditView)->execute(SCI_GETCOLUMN, lineEnd);
int lineLen = lineEnd - lineBegin + 1;
if (lineLen > lineAllocatedLen)
{
delete [] line;
line = new TCHAR[lineLen];
}
(*_ppEditView)->getGenericText(line, lineBegin, lineEnd);
generic_string s2r(line);
//
// Calcule generic_string
//
int2str(str, stringSize, initialNumber, base, nb, isZeroLeading);
initialNumber += increaseNumber;

File diff suppressed because it is too large Load Diff