Andrew Borodin
d200893347
(dlg_select_widget): rename to widget_select.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-09-11 11:30:20 +03:00
Andrew Borodin
35451978f6
Rename WDialog APIs:
...
dlg_one_up -> dlg_select_prev_widget
dlg_one_down -> dlg_select_next_widget
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-09-11 11:30:20 +03:00
Andrew Borodin
b19ae2b938
Refactoring of change of current widget.
...
Add new WDialog APIs:
* dlg_set_current_widget_next
* dlg_set_current_widget_prev
* dlg_get_widget_next_of
* dlg_get_widget_prev_of
and use them:
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-09-11 11:30:20 +03:00
Andrew Borodin
47f9b77194
WMenuBar: remove WMenuBar::is_active. Use WST_FOCUSED instead.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-09-11 11:30:20 +03:00
Andrew Borodin
0df5ad5686
WInput: avoid double draw on resize.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-09-11 11:30:20 +03:00
Andrew Borodin
fd7c6c1c5d
Menu: avoid double draw on resize.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-09-11 11:30:20 +03:00
Andrew Borodin
91c72122a8
(widget_set_size): send MSG_DRAW after MSG_RESIZE.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-09-11 11:30:20 +03:00
Andrew Borodin
240350db95
Refactoring of widget drawing to avoid multiple widget redraw.
...
Send MSG_DRAW message immediately after MSG_FOCUS/MSG_UNFOCUS.
Thus, the MSG_DRAW message handler is the only place where widget
should be drawn. Widget should not draw itself in other message
handlers.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-09-11 11:30:20 +03:00
Andrew Borodin
e1a2e8f8ec
WButton: remove WButton::selected. Use WST_FOCUSED instead.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-09-11 11:26:00 +03:00
Andrew Borodin
ad166313a4
WListbox: remove WListbox::focused. Use WST_FOCUSED instead.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-09-11 11:26:00 +03:00
Andrew Borodin
c37f9b770a
WST_FOCUSED: add new state and handle it.
...
Notify widget's owner that widget gets or loses focus.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-09-11 11:26:00 +03:00
Andrew Borodin
3debdac657
(menubar_callback): refactoring of menu draw after get focus and resize.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-09-11 11:26:00 +03:00
Andrew Borodin
41144d619c
(widget_set_state): return cb_ret_t instead of gboolean.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-09-11 11:26:00 +03:00
Andrew Borodin
c90b806728
Don't focus widget that doesn't have the WOP_SELECTABLE option.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-09-11 11:26:00 +03:00
Andrew Borodin
a64a7ba2fa
Use WOP_SELECTABLE option in menu.
...
If menu is not active, it is not selectable also in order to disallow
select and focus the inactive menu.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-09-11 11:26:00 +03:00
Andrew Borodin
5ac1c5a3e0
Ticket #2919 : refactoring of focus/unfocus of widgets.
...
Initial step: add WOP_SELECTABLE option and set it up explicitly for
widgets that can be selected.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-09-11 11:26:00 +03:00
Andrew Borodin
adc6bd83d6
(dlg_adjust_position): refactoring.
2016-09-11 11:11:01 +03:00
Andrew Borodin
fb4f4674c7
Ticket #3641 : code cleanup before 4.8.18 release.
...
(dlg_adjust_position): don't change origin of non-centered dialog.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-09-11 11:11:01 +03:00
Andreas Mohr
b36cec44e3
Cleanup unused macros.
...
Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-07-29 09:32:04 +03:00
Andrew Borodin
e07408e8c7
(check_callback): clean unneeded type casting.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-07-29 09:32:04 +03:00
Andrew Borodin
b0e3552847
Refactoring of widget's position and size calculation.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-07-29 09:29:36 +03:00
Andrew Borodin
86fd77155e
Refactoring of dialog's position and size calculation.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-07-29 09:29:36 +03:00
wwp
e629712197
Ticket #3562 : fix Glib-critical asserts in empty WListbox.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-07-29 09:29:36 +03:00
Andreas Mohr
8710d2522f
(variable_completion_function): cleanup Wconditional-uninitialized warning.
...
input_complete.c:383:42: error: variable 'p' may be uninitialized when used here [-Werror,-Wconditional-uninitialized]
temp = g_string_new_len (*env_p, p - *env_p);
^
Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-07-29 09:29:36 +03:00
Andrew Borodin
7c74fd90f0
Ticket #3661 : wrong handling of mouse clicks in long listing mode.
...
This occurs if the left panel is in long listing mode and the right
panel is in full listing mode:
When the left panel is active and you click on the right side of the
panel, the click event is directed to the (inactive) right panel instead
of the (active) left panel.
This occurs if the right panel is in long listing mode:
When the left panel is active and you click on the left panel, the click
event is always directed to the (inactive) right panel. It's impossible
to click anything on the left panel, if the right panel is in long
listing mode.
Thanks Seray Rosh <seray.rosh@web.de> for intial patch.
Initial commit: refactoring of widget selection.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-07-09 19:13:20 +03:00
Andrew Borodin
b4af91dfc0
Reorganize WDialog flags.
...
* DLG_FULLSCREEN: move and rename to WPOS_FULLSCREEN.
* DLG_CENTER: move and rename to WPOS_CENTER.
* DLG_TRYUP: move and rename to WPOS_TRYUP.
* WDialog::fullscreen: remove, use WPOS_FULLSCREEN instead.
* WDialog::compact: new field. Use instead of DLG_COMPACT.
* WDialog:🎏 remove.
* dlg_flags_t: remove.
* dlg_create: add new agruments: pos_flags, compact. Remove
argument: flags.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-06-02 20:41:00 +03:00
Andrew Borodin
0933b08964
(dlg_set_position): minor refactoring.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-06-02 20:34:38 +03:00
Andrew Borodin
163d9cd94a
Rename DLG_WANT_TAB to WOP_WANT_TAB and move it to widget_options_t.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-06-02 20:34:38 +03:00
Andrew Borodin
2dab74fddd
By default, WOP_WANT_HOTKEY option is off.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-06-02 20:34:38 +03:00
Andrew Borodin
d44220c75f
If widget wants cursor, define that explicitly.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-06-02 20:34:38 +03:00
Andrew Borodin
db0d01b9d6
Add WST_MODAL state.
...
* WDialog::modal: remove. Use WST_MODAL instead.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-06-02 20:34:38 +03:00
Andrew Borodin
fd4e56bf39
WOP_TOP_SELECT: new widget option
...
...to place widget on top of other widgets in dialog.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-06-02 20:34:38 +03:00
Andrew Borodin
4b72fb5f5e
Join widget_state_t and dlg_state_t.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-06-02 20:34:38 +03:00
Andrew Borodin
0a2877edef
Move WOP_WANT_IDLE option to widget_state_t flags
...
...and rename to WST_IDLE.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-06-02 20:34:38 +03:00
Andrew Borodin
b337287336
Move WOP_DISABLED option to widget_state_t flags
...
...and rename to WST_DISABLED.
* Widget::state: new field.
* (widget_set_state): new function.
* (widget_set_options): symplify.
* (input_set_options): remove.
* MSG_ENABLE, MSG_DISABLE: new messages.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-06-02 20:34:38 +03:00
Andrew Borodin
a9fcd6c4c6
widget_state_t: new type.
...
(widget_get_state): new widget API.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-06-02 20:34:38 +03:00
Andrew Borodin
f5a1dfcef4
(widget_get_options): new widget API.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-06-02 20:34:38 +03:00
Andrew Borodin
4a0cd948df
Change prefix of widget options: W_ -> WOP_.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-06-02 20:34:38 +03:00
Andrew Borodin
619480c68b
Ticket #3632 : refactoring of widget flags.
...
Initial commit: rename functions:
* widget_default_set_options_callback -> widget_default_set_options
* input_set_options_callback -> input_set_options
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-06-02 20:34:38 +03:00
Andrew Borodin
abbfde35b2
lib/widget/input_complete.c: apply coding guidelines.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-05-07 16:19:02 +03:00
Andreas Mohr
1bfe137d2a
(command_completion_function): cleanup cppcheck warning.
...
As other local functions use "text" as function parameter variable
to fix cppcheck warning:
[lib/widget/input_complete.c:569]: (error) Uninitialized variable: text
Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-05-07 16:19:02 +03:00
Andrew Borodin
dcf2ac11c1
(dlg_set_top_or_bottom_widget): move to proper file section.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-05-07 16:19:02 +03:00
Andrew Borodin
bc14ff44c8
Remove min() and max() macros. Use MIN() and MAX() macros from GLib.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-05-07 16:19:02 +03:00
Andrew Borodin
0641e942e5
(input_is_empty): new WInput API.
...
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-05-07 16:19:02 +03:00
Andreas Mohr
eef076cef6
cppcheck: Cleanup Passing NULL after the last typed argument warning
...
Cleanup Passing NULL after the last typed argument warning.
Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-05-07 16:19:02 +03:00
Andreas Mohr
5a7d7d0087
(mouse_get_local): cleanup uninitialized warning.
...
Cleanup uninitialized warning with gcc compiler (gcc-4.4.7-4.el6).
Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-05-07 16:19:02 +03:00
Andreas Mohr
284a19aff1
(find_widget_type): Make Solaris Studio happy
...
Make Solaris Studio 12.4 happy.
"dialog.c", line 1029: warning: argument #2 is incompatible with prototype:
prototype: pointer to const void
argument : pointer to function (...) returning enum (...)
Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-05-07 16:19:02 +03:00
Yuri Khan
c1975a3a35
Do not duplicate alternate screen switching.
...
S-Lang already handles that in SLsmg_init_smg() and SLsmg_reset_smg().
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-05-05 10:01:13 +03:00
Yuri Khan
abb4996589
Ticket #3640 : Subshell cursor position lost after window resizing.
...
Refactoring: rename functions:
do_enter_ca_mode -> tty_enter_ca_mode
do_exit_ca_mode -> tty_exit_ca_mode
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-05-05 10:01:13 +03:00
Andreas Mohr
ff9d37cb8f
lib/widget/input_complete.c: cleanup -Wcast-qual warning.
...
Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-04-16 10:23:44 +03:00