command [Draw | Text] and add text (chars are very small, it is impossible to add polish letters lika ąść..., ą = RightAlt+a , it's immposiible to ad new line)
[enter] to add text
select text, [properites] change text and [Close] - text isn't changed
Discussion
Anonymous
-
2025-12-31
CTRL+Return adds a new line. Don't know about non-US characters, I assume that depends on the GTK2 support inside a text box. Martin may be able to help as he uses German characters.
It seems that if you open the Properties for the text using the ? mode icon, those updates do take - but there is a bug in the Right-Click Menu Properties version where they don't.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Ah - you said windows - but the same applies, the handling of non-ASCII is part of the OS.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
Anonymous
-
2025-12-31
You are right new line runs well, but ąśćń no - just because RightAlt = LeftCotrol+LeftAlt and shortcut is called, so RightAlt+a = LeftCotrol+LeftAlt+a should be ą but [Latout option dialog] is shown as it has CtrlLeft+Alt+A shortcut. To fix it - shortcut shouldn't be acive during the text is inserted.
I've tried key ? or right mouse and nothing updating the text - so I 've decide to modify file in notepad :)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The issue may result from the removal of the "Done" button in the Describe dialog at cmisc.c:472.
There is a special piece of code for the SEG_TEXT draw type at about cdraw.c:627 that looks for an inx == -1 and runs the update to assume that the TX field has been updated.
This was presumably added because otherwise the text input would be ignored. I am not yet certain why the updatedraw() is not being run upon Close - or it is is, why the inx value is not being set to either TX or -1 when the Properties menu item is run rather than the command Describe (which you get via the Describe "Mode").
Describe Mode (CmdDescribe) runs DescribeDone at cmisc.c:608 and if Cancel is run at cmisc.c:679. But I need to find the Right Click Menu version.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
CallPushDescribe at cselect.c:3270 is called that calls in turn -
cmdDescribe() for C_Start, C_Down and C_Up to start the Describe at the appropriate cursor place
It seems in the code that it is C_Down where all the action happens. The updated field is supposed to be called back on each change. But in the case of the text box it is always ignored whereas things like the pos fields will cause immediate updates. DescribeDone has to be called and that only happens if C_CANCEL is called on cmdDescribe. I don't think that the curCommand has been set to Describe when the menu item is used as distinct from when the command mode is set so it may not be called upon reset.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Options -> change the text field value handling to be updated immediately in all cases (benefit immediate visual updates) or ensure C_CANCEL is called on Reset in this case.
I can see an issue with the field handling in that the intermediate values of the text field that can change on every character change have to be ignored so they don't pollute the Undo log. I suspect that we will need to have a side pointer to the original value and record that for undo at the end of the command if it has changed while freeing the temporary immediate text values and making new ones on every update.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Ah - you said windows - but the same applies, the handling of non-ASCII is part of the OS.
The issue may result from the removal of the "Done" button in the Describe dialog at cmisc.c:472.
There is a special piece of code for the SEG_TEXT draw type at about cdraw.c:627 that looks for an inx == -1 and runs the update to assume that the TX field has been updated.
This was presumably added because otherwise the text input would be ignored. I am not yet certain why the updatedraw() is not being run upon Close - or it is is, why the inx value is not being set to either TX or -1 when the Properties menu item is run rather than the command Describe (which you get via the Describe "Mode").
Describe Mode (CmdDescribe) runs DescribeDone at cmisc.c:608 and if Cancel is run at cmisc.c:679. But I need to find the Right Click Menu version.
CallPushDescribe at cselect.c:3270 is called that calls in turn -
cmdDescribe() for C_Start, C_Down and C_Up to start the Describe at the appropriate cursor place
It seems in the code that it is C_Down where all the action happens. The updated field is supposed to be called back on each change. But in the case of the text box it is always ignored whereas things like the pos fields will cause immediate updates. DescribeDone has to be called and that only happens if C_CANCEL is called on cmdDescribe. I don't think that the curCommand has been set to Describe when the menu item is used as distinct from when the command mode is set so it may not be called upon reset.
Options -> change the text field value handling to be updated immediately in all cases (benefit immediate visual updates) or ensure C_CANCEL is called on Reset in this case.
I can see an issue with the field handling in that the intermediate values of the text field that can change on every character change have to be ignored so they don't pollute the Undo log. I suspect that we will need to have a side pointer to the original value and record that for undo at the end of the command if it has changed while freeing the temporary immediate text values and making new ones on every update.