From d2b9454f4b19bbdef92b68addf952a46a1220059 Mon Sep 17 00:00:00 2001 From: Andrew Borodin Date: Sat, 11 Mar 2023 17:14:47 +0300 Subject: [PATCH] Add EDIT and CONST_EDIT macros. Signed-off-by: Andrew Borodin --- src/editor/edit.h | 3 +++ src/editor/editcmd.c | 4 ++-- src/editor/editcomplete.c | 2 +- src/editor/editoptions.c | 4 ++-- src/editor/editwidget.c | 29 ++++++++++++++--------------- src/usermenu.c | 4 ++-- 6 files changed, 24 insertions(+), 22 deletions(-) diff --git a/src/editor/edit.h b/src/editor/edit.h index 6c519e9d3..91878ba48 100644 --- a/src/editor/edit.h +++ b/src/editor/edit.h @@ -20,6 +20,9 @@ #define DEFAULT_WRAP_LINE_LENGTH 72 +#define EDIT(x) ((WEdit *)(x)) +#define CONST_EDIT(x) ((const WEdit *)(x)) + /*** enums ***************************************************************************************/ /*** structures declarations (and typedefs of structures)*****************************************/ diff --git a/src/editor/editcmd.c b/src/editor/editcmd.c index 8d0cd27c5..c6493bdc9 100644 --- a/src/editor/editcmd.c +++ b/src/editor/editcmd.c @@ -736,7 +736,7 @@ edit_syntax_onoff_cb (void *data, void *user_data) if (edit_widget_is_editor (CONST_WIDGET (data))) { - WEdit *edit = (WEdit *) data; + WEdit *edit = EDIT (data); if (option_syntax_highlighting) edit_load_syntax (edit, NULL, edit->syntax_type); @@ -1247,7 +1247,7 @@ edit_close_cmd (WEdit * edit) widget_destroy (w); if (edit_widget_is_editor (CONST_WIDGET (g->current->data))) - edit = (WEdit *) (g->current->data); + edit = EDIT (g->current->data); else { edit = find_editor (DIALOG (g)); diff --git a/src/editor/editcomplete.c b/src/editor/editcomplete.c index 99ac715e6..1baf8c111 100644 --- a/src/editor/editcomplete.c +++ b/src/editor/editcomplete.c @@ -280,7 +280,7 @@ edit_collect_completions (WEdit * edit, off_t word_start, gsize word_len, if (!edit_widget_is_editor (ww)) continue; - e = (WEdit *) ww; + e = EDIT (ww); if (e == edit) continue; diff --git a/src/editor/editoptions.c b/src/editor/editoptions.c index 655b8da4e..3821d443a 100644 --- a/src/editor/editoptions.c +++ b/src/editor/editoptions.c @@ -89,7 +89,7 @@ edit_reset_over_col (void *data, void *user_data) (void) user_data; if (edit_widget_is_editor (CONST_WIDGET (data))) - ((WEdit *) data)->over_col = 0; + EDIT (data)->over_col = 0; } /* --------------------------------------------------------------------------------------------- */ @@ -108,7 +108,7 @@ edit_reload_syntax (void *data, void *user_data) if (edit_widget_is_editor (CONST_WIDGET (data))) { - WEdit *edit = (WEdit *) data; + WEdit *edit = EDIT (data); edit_load_syntax (edit, NULL, edit->syntax_type); } diff --git a/src/editor/editwidget.c b/src/editor/editwidget.c index ce5960c20..80cb11829 100644 --- a/src/editor/editwidget.c +++ b/src/editor/editwidget.c @@ -326,7 +326,7 @@ edit_window_list (const WDialog * h) for (w = g->widgets; w != NULL; w = g_list_next (w)) if (edit_widget_is_editor (CONST_WIDGET (w->data))) { - WEdit *e = (WEdit *) w->data; + WEdit *e = EDIT (w->data); char *fname; if (e->filename_vpath == NULL) @@ -419,7 +419,7 @@ edit_dialog_command_execute (WDialog * h, long command) case CK_Close: /* if there are no opened files anymore, close MC editor */ if (edit_widget_is_editor (CONST_WIDGET (g->current->data)) && - edit_close_cmd ((WEdit *) g->current->data) && find_editor (h) == NULL) + edit_close_cmd (EDIT (g->current->data)) && find_editor (h) == NULL) dlg_stop (h); break; case CK_Help: @@ -435,8 +435,8 @@ edit_dialog_command_execute (WDialog * h, long command) { Widget *w = WIDGET (g->current->data); - if (edit_widget_is_editor (w) && ((WEdit *) w)->drag_state != MCEDIT_DRAG_NONE) - edit_restore_size ((WEdit *) w); + if (edit_widget_is_editor (w) && EDIT (w)->drag_state != MCEDIT_DRAG_NONE) + edit_restore_size (EDIT (w)); else if (command == CK_Quit) dlg_stop (h); } @@ -468,7 +468,7 @@ edit_dialog_command_execute (WDialog * h, long command) case CK_WindowMove: case CK_WindowResize: if (edit_widget_is_editor (CONST_WIDGET (g->current->data))) - edit_handle_move_resize ((WEdit *) g->current->data, command); + edit_handle_move_resize (EDIT (g->current->data), command); break; case CK_WindowList: edit_window_list (h); @@ -632,7 +632,7 @@ edit_quit (WDialog * h) for (l = GROUP (h)->widgets; l != NULL; l = g_list_next (l)) if (edit_widget_is_editor (CONST_WIDGET (l->data))) { - e = (WEdit *) l->data; + e = EDIT (l->data); if (e->drag_state != MCEDIT_DRAG_NONE) { @@ -649,7 +649,7 @@ edit_quit (WDialog * h) for (me = m; me != NULL; me = g_slist_next (me)) { - e = (WEdit *) me->data; + e = EDIT (me->data); widget_select (WIDGET (e)); @@ -881,8 +881,7 @@ edit_dialog_mouse_callback (Widget * w, mouse_msg_t msg, mouse_event_t * event) /* Try find top fullscreen window */ for (l = g->widgets; l != NULL; l = g_list_next (l)) - if (edit_widget_is_editor (CONST_WIDGET (l->data)) - && ((WEdit *) l->data)->fullscreen) + if (edit_widget_is_editor (CONST_WIDGET (l->data)) && EDIT (l->data)->fullscreen) top = l; /* Handle fullscreen/close buttons in the top line */ @@ -890,7 +889,7 @@ edit_dialog_mouse_callback (Widget * w, mouse_msg_t msg, mouse_event_t * event) if (top != NULL && event->x >= x) { - WEdit *e = (WEdit *) top->data; + WEdit *e = EDIT (top->data); if (top != g->current) { @@ -939,7 +938,7 @@ edit_dialog_bg_callback (Widget * w, Widget * sender, widget_msg_t msg, int parm static cb_ret_t edit_callback (Widget * w, Widget * sender, widget_msg_t msg, int parm, void *data) { - WEdit *e = (WEdit *) w; + WEdit *e = EDIT (w); switch (msg) { @@ -1012,7 +1011,7 @@ edit_callback (Widget * w, Widget * sender, widget_msg_t msg, int parm, void *da static void edit_mouse_handle_move_resize (Widget * w, mouse_msg_t msg, mouse_event_t * event) { - WEdit *edit = (WEdit *) (w); + WEdit *edit = EDIT (w); WRect *r = &w->rect; const WRect *h = &CONST_WIDGET (w->owner)->rect; int global_x, global_y; @@ -1072,7 +1071,7 @@ edit_mouse_handle_move_resize (Widget * w, mouse_msg_t msg, mouse_event_t * even static void edit_mouse_callback (Widget * w, mouse_msg_t msg, mouse_event_t * event) { - WEdit *edit = (WEdit *) w; + WEdit *edit = EDIT (w); /* buttons' distance from right edge */ int dx = edit->fullscreen ? 0 : 2; /* location of 'Close' and 'Toggle fullscreen' pictograms */ @@ -1301,8 +1300,8 @@ find_editor (const WDialog * h) const WGroup *g = CONST_GROUP (h); if (edit_widget_is_editor (CONST_WIDGET (g->current->data))) - return (WEdit *) g->current->data; - return (WEdit *) widget_find_by_type (CONST_WIDGET (h), edit_callback); + return EDIT (g->current->data); + return EDIT (widget_find_by_type (CONST_WIDGET (h), edit_callback)); } /* --------------------------------------------------------------------------------------------- */ diff --git a/src/usermenu.c b/src/usermenu.c index cd6be5b7b..3e74b65a1 100644 --- a/src/usermenu.c +++ b/src/usermenu.c @@ -225,7 +225,7 @@ test_condition (const Widget * edit_widget, char *p, gboolean * condition) char arg[256]; const mc_search_type_t search_type = easy_patterns ? MC_SEARCH_T_GLOB : MC_SEARCH_T_REGEX; #ifdef USE_INTERNAL_EDIT - const WEdit *e = (const WEdit *) edit_widget; + const WEdit *e = CONST_EDIT (edit_widget); #endif /* Handle one condition */ @@ -755,7 +755,7 @@ expand_format (const Widget * edit_widget, char c, gboolean do_quote) char c_lc; #ifdef USE_INTERNAL_EDIT - const WEdit *e = (const WEdit *) edit_widget; + const WEdit *e = CONST_EDIT (edit_widget); #else (void) edit_widget; #endif