AkelPad 4.0.0 beta

English main discussion
Post Reply
  • Author
  • Message
Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

AkelPad 4.0.0 beta

Post by Instructor »

AkelPad 4.0.0 beta 1

Changed: synchronized structures with AkelPad 3.x.x. Update your plugins.
Changed: backward compatibility with RichEdit is improved.
Changed: more accurate scrolling, when the founded text is outside visibility.

Added: URL highlighting.
Added: processing triple mouse click, and also processing capture after double and triple mouse clicks.
Added: Ctrl+Delete deletes right word, Ctrl+Backspace deletes left word.

Fixed: text Drag'n'Drop.
Fixed: search of new line character.
Fixed: empty column insertion.


Download:
Installer (multi-lingual) (191 Kb)
Archive (english version) (113 Kb)
Archive (russian version) (114 Kb)
Sources (381 Kb)
Last edited by Instructor on Sun Aug 03, 2008 6:11 pm, edited 1 time in total.

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

AkelPad 4.0.0 beta 2

Changed: hotkeys (conflicted with AltGr key):
- Shift+Alt+W save as ANSI (Windows);
- Shift+Alt+D save as OEM (DOS);
- Shift+Alt+K save as KOI8-R.
- Shift+Alt+L save as UTF-16LE;
- Shift+Alt+B save as UTF-16BE;
- Shift+Alt+U save as UTF-8.

Added: pressing on left mouse button in left margin selects line.

Fixed: AltGr key didn't working.
Fixed: speed slowdown of column's Undo/Redo in beta 1.
Fixed: vertical scroll didn't updated in word wrap mode.
Fixed: using word wrap, with no AECO_DISABLENOSCROLL flag.


Download:
See next post.
Last edited by Instructor on Fri Jul 11, 2008 5:22 pm, edited 1 time in total.

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

AkelPad 4.0.0 beta 3

Fixed: tab key didn't working.


Download:
Installer (multi-lingual) (192 Kb)
Archive (english version) (114 Kb)
Archive (russian version) (115 Kb)
Sources (384 Kb)

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

AkelPad 4.0.0 beta 4

Fixed: "OK" button in plugin dialog, didn't clear non-existent plugin records.
Fixed: Ctrl+Tab combination didn't working in dialog.
Fixed: mouse didn't select last symbol of a line with a biggest width.
Fixed: caret hiding when text margins is changed.
Fixed: column selection was deformed, if it left from visible limits at window resize in word wrap mode.


Download:
Installer (multi-lingual) (193 Kb)
Archive (english version) (114 Kb)
Archive (russian version) (115 Kb)
Sources (385 Kb)

Offline
Posts: 57
Joined: Sun Jul 27, 2008 6:47 am
Location: slovakia

Post by pvagner »

Hello,
Akelpad has been fully accessible because of the fact only standard windows controls were used. Since richedit control was replaced by the custom control accessibility issues become noticeable and some assistive technologies have problems reading text from the control accuratelly.
I am trying to make akelpad accessible to NVDA - an open-source screen-reading software for windows. Richedit emulation you have added helps a little but we do need to get more such compatibility or some hints on how to use API specific to the AkelEdit control.
I am very open to discussion so you may also like to contact me privatelly I am sure this can lead to a success.
Just fyi below are all the richedit window messages we are relying on so you can try to help us find suitable AkelEdit specific counterparts or improve richedit compatibility if you wish.
Since AkelEdit has more features than richedit, I'd just like to say it would be nice to add an abilities to navigate by sentences and by paragrapsh and respond to custom window messages responding with sentence or paragraph or word boundaries from specific position. If you are planning to add an ability to do text formatting then I wish there will be api messages to be able to retrieve formatting information such as bold, underline, subscript, superscript, font face, size etc... These are just additional requests which may gain accessibility a bit again critical is the more complete richedit compatibility or some help on using the AkelEdit API properly.

Thanks for your possible answers

here is the list of the richedit window messages we are currently using:
EM_EXGETSEL
EM_EXSETSEL
EM_GETTEXTLENGTHEX
EM_GETTEXTRANGE
EM_GETLINECOUNT
EM_LINEINDEX
EM_LINELENGTH
EM_EXLINEFROMCHAR
EM_FINDWORDBREAK
EM_CHARFROMPOS
EM_POSFROMCHAR

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

pvagner
Hello
In new version EM_GETTEXTLENGTHEX, EM_FINDWORDBREAK were implemeted. AkelEdit API description you can found in AkelEdit.h.

Offline
Posts: 57
Joined: Sun Jul 27, 2008 6:47 am
Location: slovakia

Post by pvagner »

Hello,
thanks for the reply. The api seems to be documented very well.
I have a question though.
We are handling text caret and selection information the old fasioned way. For converting offsets to AkelEdit AECHARINDEX there is only one possibility; I mean AEM_RICHOFFSETTOINDEX.
For the opposite there is AEM_INDEXTORICHOFFSET but AEM_INDEXSUBTRACT can also be used when retrieving difference from the very first character. Which one is more efficient or recommended please?

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

Which one is more efficient or recommended please?
AEM_INDEXTORICHOFFSET, AEM_RICHOFFSETTOINDEX they are specially optimized for this purpose (fast way). AEM_INDEXSUBTRACT always make full processing of space between two characters.

Offline
Posts: 57
Joined: Sun Jul 27, 2008 6:47 am
Location: slovakia

Post by pvagner »

Hello,
I have got it working. Still I have got issues with EM_FINDWORDBREAK. It returns zeroes on both sides.
I have tryed to implement it using AkelEdit api by doing the following steps:
1) sending AEM_RICHOFFSETTOINDEX with the offset where I'd like to start searching for a break.
2) sending AEM_GETINDEX with the appropriate flags (AEGI_PREVBREAK or AEGI_NEXTBREAK) and also pointing it to AECHARINDEX received in the previous step.
3) using AEM_INDEXTORICHOFFSET with the AECHARINDEX received in the step 2.
It looks as if in the 2nd step AECHARINDEX gets overwritten because I am alvais getting a word boundaries relative to the caret position. Is it possible to retrieve word boundaries from different offset than caret position?

Edit: oops I have missunderstood it all. when seeking for word boundaries this way it is returning where the space or a word delimiter is situated. Instead I'd like to get a first character of the next word or exactly one character before a begining of a word. I'll have to play with it more and combine your features with a bit of creativity.

BTW another question.
Are
AEGI_NEXTCHAR
AEGI_PREVCHAR
opposite to the
AEGI_NEXTBREAK
AEGI_PREVBREAK
or do they also return space and other word delimiters?
To explain it. When there are multiple word delimiters one after the other,
AEGI_NEXTBREAK
AEGI_PREVBREAK
will simply find them all. The behaviour I am seeking for is how to get the offsets where pressing ctrl+left and ctrl+right arrow stop.

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

pvagner
Here is the latest development version of AkelEdit. In this version you can use a mentioned above richedit messages (EM_FINDWORDBREAK, EM_GETTEXTLENGTHEX).

Offline
Posts: 57
Joined: Sun Jul 27, 2008 6:47 am
Location: slovakia

Post by pvagner »

thanks. Would you please post an akelpad build with this to test? You know this way I'll have to create my test application which uses akelEdit.

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

pvagner
Development build of AkelPad.
Post Reply