Sending commands to views working; open in other working
parent
d76385fde3
commit
2834583b98
54
4ed.cpp
54
4ed.cpp
|
@ -9,32 +9,6 @@
|
||||||
|
|
||||||
// TOP
|
// TOP
|
||||||
|
|
||||||
internal void
|
|
||||||
output_file_append(Thread_Context *tctx, Models *models, Editing_File *file, String_Const_u8 value){
|
|
||||||
i64 end = buffer_size(&file->state.buffer);
|
|
||||||
Edit_Behaviors behaviors = {};
|
|
||||||
edit_single(tctx, models, file, Ii64(end), value, behaviors);
|
|
||||||
}
|
|
||||||
|
|
||||||
internal void
|
|
||||||
file_cursor_to_end(Thread_Context *tctx, Models *models, Editing_File *file){
|
|
||||||
Assert(file != 0);
|
|
||||||
i64 pos = buffer_size(&file->state.buffer);
|
|
||||||
Layout *layout = &models->layout;
|
|
||||||
for (Panel *panel = layout_get_first_open_panel(layout);
|
|
||||||
panel != 0;
|
|
||||||
panel = layout_get_next_open_panel(layout, panel)){
|
|
||||||
View *view = panel->view;
|
|
||||||
if (view->file != file){
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
view_set_cursor(tctx, models, view, pos);
|
|
||||||
view->mark = pos;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#include "4ed_api_implementation.cpp"
|
|
||||||
|
|
||||||
internal void
|
internal void
|
||||||
fill_hardcode_default_style(Color_Table color_table){
|
fill_hardcode_default_style(Color_Table color_table){
|
||||||
color_table.vals[Stag_Back] = 0xFF0C0C0C;
|
color_table.vals[Stag_Back] = 0xFF0C0C0C;
|
||||||
|
@ -616,11 +590,31 @@ App_Step_Sig(app_step){
|
||||||
}
|
}
|
||||||
|
|
||||||
// NOTE(allen): consume event stream
|
// NOTE(allen): consume event stream
|
||||||
for (Input_Event_Node *node = input_list.first;
|
Input_Event_Node *input_node = input_list.first;
|
||||||
node != 0;
|
Input_Event_Node *input_node_next = 0;
|
||||||
node = node->next){
|
for (;; input_node = input_node_next){
|
||||||
|
// NOTE(allen): first handle any events coming from the view command
|
||||||
|
// function queue
|
||||||
|
Model_View_Command_Function cmd_func = models_pop_view_command_function(models);
|
||||||
|
if (cmd_func.custom_func != 0){
|
||||||
|
View *view = imp_get_view(models, cmd_func.view_id);
|
||||||
|
if (view != 0){
|
||||||
|
input_node_next = input_node;
|
||||||
|
Input_Event cmd_func_event = {};
|
||||||
|
cmd_func_event.kind = InputEventKind_CustomFunction;
|
||||||
|
cmd_func_event.custom_func = cmd_func.custom_func;
|
||||||
|
co_send_event(tctx, models, view, &cmd_func_event);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (input_node == 0){
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
input_node_next = input_node->next;
|
||||||
|
|
||||||
b32 event_was_handled = false;
|
b32 event_was_handled = false;
|
||||||
Input_Event *event = &node->event;
|
Input_Event *event = &input_node->event;
|
||||||
|
|
||||||
if (event->kind == InputEventKind_TextInsert && event->text.blocked){
|
if (event->kind == InputEventKind_TextInsert && event->text.blocked){
|
||||||
continue;
|
continue;
|
||||||
|
|
|
@ -9,6 +9,59 @@
|
||||||
|
|
||||||
// TOP
|
// TOP
|
||||||
|
|
||||||
|
internal void
|
||||||
|
output_file_append(Thread_Context *tctx, Models *models, Editing_File *file, String_Const_u8 value){
|
||||||
|
i64 end = buffer_size(&file->state.buffer);
|
||||||
|
Edit_Behaviors behaviors = {};
|
||||||
|
edit_single(tctx, models, file, Ii64(end), value, behaviors);
|
||||||
|
}
|
||||||
|
|
||||||
|
internal void
|
||||||
|
file_cursor_to_end(Thread_Context *tctx, Models *models, Editing_File *file){
|
||||||
|
Assert(file != 0);
|
||||||
|
i64 pos = buffer_size(&file->state.buffer);
|
||||||
|
Layout *layout = &models->layout;
|
||||||
|
for (Panel *panel = layout_get_first_open_panel(layout);
|
||||||
|
panel != 0;
|
||||||
|
panel = layout_get_next_open_panel(layout, panel)){
|
||||||
|
View *view = panel->view;
|
||||||
|
if (view->file != file){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
view_set_cursor(tctx, models, view, pos);
|
||||||
|
view->mark = pos;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function void
|
||||||
|
models_push_view_command_function(Models *models, View_ID view_id, Custom_Command_Function *custom_func){
|
||||||
|
Model_View_Command_Function *node = models->free_view_cmd_funcs;
|
||||||
|
if (node == 0){
|
||||||
|
node = push_array(models->arena, Model_View_Command_Function, 1);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
sll_stack_pop(models->free_view_cmd_funcs);
|
||||||
|
}
|
||||||
|
sll_queue_push(models->first_view_cmd_func, models->last_view_cmd_func, node);
|
||||||
|
node->view_id = view_id;
|
||||||
|
node->custom_func = custom_func;
|
||||||
|
}
|
||||||
|
|
||||||
|
function Model_View_Command_Function
|
||||||
|
models_pop_view_command_function(Models *models){
|
||||||
|
Model_View_Command_Function result = {};
|
||||||
|
if (models->first_view_cmd_func != 0){
|
||||||
|
Model_View_Command_Function *node = models->first_view_cmd_func;
|
||||||
|
result.custom_func = node->custom_func;
|
||||||
|
result.view_id = node->view_id;
|
||||||
|
sll_queue_pop(models->first_view_cmd_func, models->last_view_cmd_func);
|
||||||
|
sll_stack_push(models->free_view_cmd_funcs, node);
|
||||||
|
}
|
||||||
|
return(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
////////////////////////////////
|
||||||
|
|
||||||
function b32
|
function b32
|
||||||
access_test(Access_Flag object_flags, Access_Flag access_flags){
|
access_test(Access_Flag object_flags, Access_Flag access_flags){
|
||||||
return((object_flags & access_flags) == access_flags);
|
return((object_flags & access_flags) == access_flags);
|
||||||
|
@ -1420,6 +1473,19 @@ view_set_active(Application_Links *app, View_ID view_id)
|
||||||
return(result);
|
return(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
api(custom) function b32
|
||||||
|
view_enqueue_command_function(Application_Links *app, View_ID view_id, Custom_Command_Function *custom_func)
|
||||||
|
{
|
||||||
|
Models *models = (Models*)app->cmd_context;
|
||||||
|
View *view = imp_get_view(models, view_id);
|
||||||
|
b32 result = false;
|
||||||
|
if (api_check_view(view)){
|
||||||
|
models_push_view_command_function(models, view_id, custom_func);
|
||||||
|
result = true;
|
||||||
|
}
|
||||||
|
return(result);
|
||||||
|
}
|
||||||
|
|
||||||
api(custom) function b32
|
api(custom) function b32
|
||||||
view_get_setting(Application_Links *app, View_ID view_id, View_Setting_ID setting, i64 *value_out)
|
view_get_setting(Application_Links *app, View_ID view_id, View_Setting_ID setting, i64 *value_out)
|
||||||
{
|
{
|
||||||
|
|
|
@ -34,6 +34,12 @@ enum App_State{
|
||||||
APP_STATE_COUNT
|
APP_STATE_COUNT
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct Model_View_Command_Function{
|
||||||
|
Model_View_Command_Function *next;
|
||||||
|
Custom_Command_Function *custom_func;
|
||||||
|
View_ID view_id;
|
||||||
|
};
|
||||||
|
|
||||||
struct Models{
|
struct Models{
|
||||||
Arena arena_;
|
Arena arena_;
|
||||||
Arena *arena;
|
Arena *arena;
|
||||||
|
@ -68,6 +74,10 @@ struct Models{
|
||||||
Color_Table fallback_color_table;
|
Color_Table fallback_color_table;
|
||||||
Color_Table color_table;
|
Color_Table color_table;
|
||||||
|
|
||||||
|
Model_View_Command_Function *free_view_cmd_funcs;
|
||||||
|
Model_View_Command_Function *first_view_cmd_func;
|
||||||
|
Model_View_Command_Function *last_view_cmd_func;
|
||||||
|
|
||||||
Layout layout;
|
Layout layout;
|
||||||
Working_Set working_set;
|
Working_Set working_set;
|
||||||
Live_Views view_set;
|
Live_Views view_set;
|
||||||
|
|
|
@ -103,6 +103,7 @@
|
||||||
#include "4ed_view.cpp"
|
#include "4ed_view.cpp"
|
||||||
#include "4ed_edit.cpp"
|
#include "4ed_edit.cpp"
|
||||||
#include "4ed_text_layout.cpp"
|
#include "4ed_text_layout.cpp"
|
||||||
|
#include "4ed_api_implementation.cpp"
|
||||||
#include "4ed.cpp"
|
#include "4ed.cpp"
|
||||||
|
|
||||||
// BOTTOM
|
// BOTTOM
|
||||||
|
|
|
@ -178,7 +178,10 @@ function Command_Binding
|
||||||
map_get_binding_non_recursive(Command_Map *map, Input_Event *event){
|
map_get_binding_non_recursive(Command_Map *map, Input_Event *event){
|
||||||
Command_Binding result = {};
|
Command_Binding result = {};
|
||||||
|
|
||||||
if (map != 0){
|
if (event->kind == InputEventKind_CustomFunction){
|
||||||
|
result.custom = event->custom_func;
|
||||||
|
}
|
||||||
|
else if (map != 0){
|
||||||
b32 do_table_lookup = false;
|
b32 do_table_lookup = false;
|
||||||
Input_Modifier_Set *mods = 0;
|
Input_Modifier_Set *mods = 0;
|
||||||
u64 key = 0;
|
u64 key = 0;
|
||||||
|
|
|
@ -269,17 +269,20 @@ view_buffer_set(Application_Links *app, Buffer_ID *buffers, i32 *positions, i32
|
||||||
|
|
||||||
function void
|
function void
|
||||||
change_active_panel_send_command(Application_Links *app, Custom_Command_Function *custom_func){
|
change_active_panel_send_command(Application_Links *app, Custom_Command_Function *custom_func){
|
||||||
NotImplemented;
|
|
||||||
}
|
|
||||||
|
|
||||||
CUSTOM_COMMAND_SIG(change_active_panel)
|
|
||||||
CUSTOM_DOC("Change the currently active panel, moving to the panel with the next highest view_id.")
|
|
||||||
{
|
|
||||||
View_ID view = get_active_view(app, Access_Always);
|
View_ID view = get_active_view(app, Access_Always);
|
||||||
view = get_next_view_looped_primary_panels(app, view, Access_Always);
|
view = get_next_view_looped_primary_panels(app, view, Access_Always);
|
||||||
if (view != 0){
|
if (view != 0){
|
||||||
view_set_active(app, view);
|
view_set_active(app, view);
|
||||||
}
|
}
|
||||||
|
if (custom_func != 0){
|
||||||
|
view_enqueue_command_function(app, view, custom_func);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
CUSTOM_COMMAND_SIG(change_active_panel)
|
||||||
|
CUSTOM_DOC("Change the currently active panel, moving to the panel with the next highest view_id.")
|
||||||
|
{
|
||||||
|
change_active_panel_send_command(app, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
CUSTOM_COMMAND_SIG(change_active_panel_backwards)
|
CUSTOM_COMMAND_SIG(change_active_panel_backwards)
|
||||||
|
|
|
@ -98,8 +98,7 @@ CUSTOM_DOC("Input consumption loop for default view behavior")
|
||||||
}
|
}
|
||||||
Command_Map_ID map_id = *map_id_ptr;
|
Command_Map_ID map_id = *map_id_ptr;
|
||||||
|
|
||||||
Command_Binding binding =
|
Command_Binding binding = map_get_binding_recursive(&framework_mapping, map_id, &input.event);
|
||||||
map_get_binding_recursive(&framework_mapping, map_id, &input.event);
|
|
||||||
|
|
||||||
Managed_Scope scope = view_get_managed_scope(app, view);
|
Managed_Scope scope = view_get_managed_scope(app, view);
|
||||||
Custom_Command_Function** next_call = 0;
|
Custom_Command_Function** next_call = 0;
|
||||||
|
|
|
@ -240,6 +240,11 @@ get_event_properties(Input_Event *event){
|
||||||
}break;
|
}break;
|
||||||
}
|
}
|
||||||
}break;
|
}break;
|
||||||
|
|
||||||
|
case InputEventKind_CustomFunction:
|
||||||
|
{
|
||||||
|
flags |= EventProperty_CustomFunction;
|
||||||
|
}break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return(flags);
|
return(flags);
|
||||||
|
|
|
@ -7,6 +7,8 @@
|
||||||
#if !defined(FCODER_EVENTS_H)
|
#if !defined(FCODER_EVENTS_H)
|
||||||
#define FCODER_EVENTS_H
|
#define FCODER_EVENTS_H
|
||||||
|
|
||||||
|
typedef void Custom_Command_Function(struct Application_Links *app);
|
||||||
|
|
||||||
typedef u32 Key_Code;
|
typedef u32 Key_Code;
|
||||||
typedef u32 Mouse_Code;
|
typedef u32 Mouse_Code;
|
||||||
typedef u32 Core_Code;
|
typedef u32 Core_Code;
|
||||||
|
@ -22,6 +24,7 @@ enum{
|
||||||
InputEventKind_MouseWheel,
|
InputEventKind_MouseWheel,
|
||||||
InputEventKind_MouseMove,
|
InputEventKind_MouseMove,
|
||||||
InputEventKind_Core,
|
InputEventKind_Core,
|
||||||
|
InputEventKind_CustomFunction,
|
||||||
};
|
};
|
||||||
|
|
||||||
global_const i32 Input_MaxModifierCount = 8;
|
global_const i32 Input_MaxModifierCount = 8;
|
||||||
|
@ -78,6 +81,7 @@ struct Input_Event{
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
} core;
|
} core;
|
||||||
|
Custom_Command_Function *custom_func;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -94,20 +98,21 @@ struct Input_List{
|
||||||
|
|
||||||
typedef u32 Event_Property;
|
typedef u32 Event_Property;
|
||||||
enum{
|
enum{
|
||||||
EventProperty_AnyKey = 0x1,
|
EventProperty_AnyKey = 0x0001,
|
||||||
EventProperty_Escape = 0x2,
|
EventProperty_Escape = 0x0002,
|
||||||
EventProperty_AnyKeyRelease = 0x4,
|
EventProperty_AnyKeyRelease = 0x0004,
|
||||||
EventProperty_MouseButton = 0x8,
|
EventProperty_MouseButton = 0x0008,
|
||||||
EventProperty_MouseRelease = 0x10,
|
EventProperty_MouseRelease = 0x0010,
|
||||||
EventProperty_MouseWheel = 0x20,
|
EventProperty_MouseWheel = 0x0020,
|
||||||
EventProperty_MouseMove = 0x40,
|
EventProperty_MouseMove = 0x0040,
|
||||||
EventProperty_Animate = 0x80,
|
EventProperty_Animate = 0x0080,
|
||||||
EventProperty_ViewActivation = 0x100,
|
EventProperty_ViewActivation = 0x0100,
|
||||||
EventProperty_TextInsert = 0x200,
|
EventProperty_TextInsert = 0x0200,
|
||||||
EventProperty_AnyFile = 0x400,
|
EventProperty_AnyFile = 0x0400,
|
||||||
EventProperty_Startup = 0x800,
|
EventProperty_Startup = 0x0800,
|
||||||
EventProperty_Exit = 0x1000,
|
EventProperty_Exit = 0x1000,
|
||||||
EventProperty_Clipboard = 0x2000,
|
EventProperty_Clipboard = 0x2000,
|
||||||
|
EventProperty_CustomFunction = 0x4000,
|
||||||
};
|
};
|
||||||
enum{
|
enum{
|
||||||
EventPropertyGroup_AnyKeyboardEvent =
|
EventPropertyGroup_AnyKeyboardEvent =
|
||||||
|
@ -130,7 +135,8 @@ enum{
|
||||||
EventProperty_AnyFile|
|
EventProperty_AnyFile|
|
||||||
EventProperty_Startup|
|
EventProperty_Startup|
|
||||||
EventProperty_Exit|
|
EventProperty_Exit|
|
||||||
EventProperty_Clipboard,
|
EventProperty_Clipboard|
|
||||||
|
EventProperty_CustomFunction,
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -531,8 +531,6 @@ struct Record_Info{
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef void Custom_Command_Function(struct Application_Links *app);
|
|
||||||
|
|
||||||
#if defined(CUSTOM_COMMAND_SIG) || defined(CUSTOM_UI_COMMAND_SIG) || defined(CUSTOM_DOC) || defined(CUSTOM_COMMAND)
|
#if defined(CUSTOM_COMMAND_SIG) || defined(CUSTOM_UI_COMMAND_SIG) || defined(CUSTOM_DOC) || defined(CUSTOM_COMMAND)
|
||||||
#error Please do not define CUSTOM_COMMAND_SIG, CUSTOM_DOC, CUSTOM_UI_COMMAND_SIG, or CUSTOM_COMMAND
|
#error Please do not define CUSTOM_COMMAND_SIG, CUSTOM_DOC, CUSTOM_UI_COMMAND_SIG, or CUSTOM_COMMAND
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -246,19 +246,19 @@ static Command_Metadata fcoder_metacmd_table[214] = {
|
||||||
{ PROC_LINKS(seek_end_of_line, 0), false, "seek_end_of_line", 16, "Seeks the cursor to the end of the visual line.", 47, "w:\\4ed\\code\\custom\\4coder_helper.cpp", 36, 2175 },
|
{ PROC_LINKS(seek_end_of_line, 0), false, "seek_end_of_line", 16, "Seeks the cursor to the end of the visual line.", 47, "w:\\4ed\\code\\custom\\4coder_helper.cpp", 36, 2175 },
|
||||||
{ PROC_LINKS(goto_beginning_of_file, 0), false, "goto_beginning_of_file", 22, "Sets the cursor to the beginning of the file.", 45, "w:\\4ed\\code\\custom\\4coder_helper.cpp", 36, 2181 },
|
{ PROC_LINKS(goto_beginning_of_file, 0), false, "goto_beginning_of_file", 22, "Sets the cursor to the beginning of the file.", 45, "w:\\4ed\\code\\custom\\4coder_helper.cpp", 36, 2181 },
|
||||||
{ PROC_LINKS(goto_end_of_file, 0), false, "goto_end_of_file", 16, "Sets the cursor to the end of the file.", 39, "w:\\4ed\\code\\custom\\4coder_helper.cpp", 36, 2189 },
|
{ PROC_LINKS(goto_end_of_file, 0), false, "goto_end_of_file", 16, "Sets the cursor to the end of the file.", 39, "w:\\4ed\\code\\custom\\4coder_helper.cpp", 36, 2189 },
|
||||||
{ PROC_LINKS(change_active_panel, 0), false, "change_active_panel", 19, "Change the currently active panel, moving to the panel with the next highest view_id.", 85, "w:\\4ed\\code\\custom\\4coder_default_framework.cpp", 47, 275 },
|
{ PROC_LINKS(change_active_panel, 0), false, "change_active_panel", 19, "Change the currently active panel, moving to the panel with the next highest view_id.", 85, "w:\\4ed\\code\\custom\\4coder_default_framework.cpp", 47, 282 },
|
||||||
{ PROC_LINKS(change_active_panel_backwards, 0), false, "change_active_panel_backwards", 29, "Change the currently active panel, moving to the panel with the next lowest view_id.", 84, "w:\\4ed\\code\\custom\\4coder_default_framework.cpp", 47, 285 },
|
{ PROC_LINKS(change_active_panel_backwards, 0), false, "change_active_panel_backwards", 29, "Change the currently active panel, moving to the panel with the next lowest view_id.", 84, "w:\\4ed\\code\\custom\\4coder_default_framework.cpp", 47, 288 },
|
||||||
{ PROC_LINKS(open_panel_vsplit, 0), false, "open_panel_vsplit", 17, "Create a new panel by vertically splitting the active panel.", 60, "w:\\4ed\\code\\custom\\4coder_default_framework.cpp", 47, 295 },
|
{ PROC_LINKS(open_panel_vsplit, 0), false, "open_panel_vsplit", 17, "Create a new panel by vertically splitting the active panel.", 60, "w:\\4ed\\code\\custom\\4coder_default_framework.cpp", 47, 298 },
|
||||||
{ PROC_LINKS(open_panel_hsplit, 0), false, "open_panel_hsplit", 17, "Create a new panel by horizontally splitting the active panel.", 62, "w:\\4ed\\code\\custom\\4coder_default_framework.cpp", 47, 305 },
|
{ PROC_LINKS(open_panel_hsplit, 0), false, "open_panel_hsplit", 17, "Create a new panel by horizontally splitting the active panel.", 62, "w:\\4ed\\code\\custom\\4coder_default_framework.cpp", 47, 308 },
|
||||||
{ PROC_LINKS(suppress_mouse, 0), false, "suppress_mouse", 14, "Hides the mouse and causes all mosue input (clicks, position, wheel) to be ignored.", 83, "w:\\4ed\\code\\custom\\4coder_default_framework.cpp", 47, 370 },
|
{ PROC_LINKS(suppress_mouse, 0), false, "suppress_mouse", 14, "Hides the mouse and causes all mosue input (clicks, position, wheel) to be ignored.", 83, "w:\\4ed\\code\\custom\\4coder_default_framework.cpp", 47, 373 },
|
||||||
{ PROC_LINKS(allow_mouse, 0), false, "allow_mouse", 11, "Shows the mouse and causes all mouse input to be processed normally.", 68, "w:\\4ed\\code\\custom\\4coder_default_framework.cpp", 47, 376 },
|
{ PROC_LINKS(allow_mouse, 0), false, "allow_mouse", 11, "Shows the mouse and causes all mouse input to be processed normally.", 68, "w:\\4ed\\code\\custom\\4coder_default_framework.cpp", 47, 379 },
|
||||||
{ PROC_LINKS(toggle_mouse, 0), false, "toggle_mouse", 12, "Toggles the mouse suppression mode, see suppress_mouse and allow_mouse.", 71, "w:\\4ed\\code\\custom\\4coder_default_framework.cpp", 47, 382 },
|
{ PROC_LINKS(toggle_mouse, 0), false, "toggle_mouse", 12, "Toggles the mouse suppression mode, see suppress_mouse and allow_mouse.", 71, "w:\\4ed\\code\\custom\\4coder_default_framework.cpp", 47, 385 },
|
||||||
{ PROC_LINKS(set_mode_to_original, 0), false, "set_mode_to_original", 20, "Sets the edit mode to 4coder original.", 38, "w:\\4ed\\code\\custom\\4coder_default_framework.cpp", 47, 388 },
|
{ PROC_LINKS(set_mode_to_original, 0), false, "set_mode_to_original", 20, "Sets the edit mode to 4coder original.", 38, "w:\\4ed\\code\\custom\\4coder_default_framework.cpp", 47, 391 },
|
||||||
{ PROC_LINKS(set_mode_to_notepad_like, 0), false, "set_mode_to_notepad_like", 24, "Sets the edit mode to Notepad like.", 35, "w:\\4ed\\code\\custom\\4coder_default_framework.cpp", 47, 394 },
|
{ PROC_LINKS(set_mode_to_notepad_like, 0), false, "set_mode_to_notepad_like", 24, "Sets the edit mode to Notepad like.", 35, "w:\\4ed\\code\\custom\\4coder_default_framework.cpp", 47, 397 },
|
||||||
{ PROC_LINKS(toggle_highlight_line_at_cursor, 0), false, "toggle_highlight_line_at_cursor", 31, "Toggles the line highlight at the cursor.", 41, "w:\\4ed\\code\\custom\\4coder_default_framework.cpp", 47, 400 },
|
{ PROC_LINKS(toggle_highlight_line_at_cursor, 0), false, "toggle_highlight_line_at_cursor", 31, "Toggles the line highlight at the cursor.", 41, "w:\\4ed\\code\\custom\\4coder_default_framework.cpp", 47, 403 },
|
||||||
{ PROC_LINKS(toggle_highlight_enclosing_scopes, 0), false, "toggle_highlight_enclosing_scopes", 33, "In code files scopes surrounding the cursor are highlighted with distinguishing colors.", 87, "w:\\4ed\\code\\custom\\4coder_default_framework.cpp", 47, 406 },
|
{ PROC_LINKS(toggle_highlight_enclosing_scopes, 0), false, "toggle_highlight_enclosing_scopes", 33, "In code files scopes surrounding the cursor are highlighted with distinguishing colors.", 87, "w:\\4ed\\code\\custom\\4coder_default_framework.cpp", 47, 409 },
|
||||||
{ PROC_LINKS(toggle_paren_matching_helper, 0), false, "toggle_paren_matching_helper", 28, "In code files matching parentheses pairs are colored with distinguishing colors.", 80, "w:\\4ed\\code\\custom\\4coder_default_framework.cpp", 47, 412 },
|
{ PROC_LINKS(toggle_paren_matching_helper, 0), false, "toggle_paren_matching_helper", 28, "In code files matching parentheses pairs are colored with distinguishing colors.", 80, "w:\\4ed\\code\\custom\\4coder_default_framework.cpp", 47, 415 },
|
||||||
{ PROC_LINKS(toggle_fullscreen, 0), false, "toggle_fullscreen", 17, "Toggle fullscreen mode on or off. The change(s) do not take effect until the next frame.", 89, "w:\\4ed\\code\\custom\\4coder_default_framework.cpp", 47, 418 },
|
{ PROC_LINKS(toggle_fullscreen, 0), false, "toggle_fullscreen", 17, "Toggle fullscreen mode on or off. The change(s) do not take effect until the next frame.", 89, "w:\\4ed\\code\\custom\\4coder_default_framework.cpp", 47, 421 },
|
||||||
{ PROC_LINKS(write_text_input, 0), false, "write_text_input", 16, "Inserts whatever character was used to trigger this command.", 60, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 59 },
|
{ PROC_LINKS(write_text_input, 0), false, "write_text_input", 16, "Inserts whatever character was used to trigger this command.", 60, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 59 },
|
||||||
{ PROC_LINKS(write_space, 0), false, "write_space", 11, "Inserts an underscore.", 22, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 67 },
|
{ PROC_LINKS(write_space, 0), false, "write_space", 11, "Inserts an underscore.", 22, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 67 },
|
||||||
{ PROC_LINKS(write_underscore, 0), false, "write_underscore", 16, "Inserts an underscore.", 22, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 73 },
|
{ PROC_LINKS(write_underscore, 0), false, "write_underscore", 16, "Inserts an underscore.", 22, "w:\\4ed\\code\\custom\\4coder_base_commands.cpp", 43, 73 },
|
||||||
|
|
|
@ -82,6 +82,7 @@ vtable->view_close = view_close;
|
||||||
vtable->view_get_buffer_region = view_get_buffer_region;
|
vtable->view_get_buffer_region = view_get_buffer_region;
|
||||||
vtable->view_get_buffer_scroll = view_get_buffer_scroll;
|
vtable->view_get_buffer_scroll = view_get_buffer_scroll;
|
||||||
vtable->view_set_active = view_set_active;
|
vtable->view_set_active = view_set_active;
|
||||||
|
vtable->view_enqueue_command_function = view_enqueue_command_function;
|
||||||
vtable->view_get_setting = view_get_setting;
|
vtable->view_get_setting = view_get_setting;
|
||||||
vtable->view_set_setting = view_set_setting;
|
vtable->view_set_setting = view_set_setting;
|
||||||
vtable->view_get_managed_scope = view_get_managed_scope;
|
vtable->view_get_managed_scope = view_get_managed_scope;
|
||||||
|
@ -262,6 +263,7 @@ view_close = vtable->view_close;
|
||||||
view_get_buffer_region = vtable->view_get_buffer_region;
|
view_get_buffer_region = vtable->view_get_buffer_region;
|
||||||
view_get_buffer_scroll = vtable->view_get_buffer_scroll;
|
view_get_buffer_scroll = vtable->view_get_buffer_scroll;
|
||||||
view_set_active = vtable->view_set_active;
|
view_set_active = vtable->view_set_active;
|
||||||
|
view_enqueue_command_function = vtable->view_enqueue_command_function;
|
||||||
view_get_setting = vtable->view_get_setting;
|
view_get_setting = vtable->view_get_setting;
|
||||||
view_set_setting = vtable->view_set_setting;
|
view_set_setting = vtable->view_set_setting;
|
||||||
view_get_managed_scope = vtable->view_get_managed_scope;
|
view_get_managed_scope = vtable->view_get_managed_scope;
|
||||||
|
|
|
@ -80,6 +80,7 @@
|
||||||
#define custom_view_get_buffer_region_sig() Rect_f32 custom_view_get_buffer_region(Application_Links* app, View_ID view_id)
|
#define custom_view_get_buffer_region_sig() Rect_f32 custom_view_get_buffer_region(Application_Links* app, View_ID view_id)
|
||||||
#define custom_view_get_buffer_scroll_sig() Buffer_Scroll custom_view_get_buffer_scroll(Application_Links* app, View_ID view_id)
|
#define custom_view_get_buffer_scroll_sig() Buffer_Scroll custom_view_get_buffer_scroll(Application_Links* app, View_ID view_id)
|
||||||
#define custom_view_set_active_sig() b32 custom_view_set_active(Application_Links* app, View_ID view_id)
|
#define custom_view_set_active_sig() b32 custom_view_set_active(Application_Links* app, View_ID view_id)
|
||||||
|
#define custom_view_enqueue_command_function_sig() b32 custom_view_enqueue_command_function(Application_Links* app, View_ID view_id, Custom_Command_Function* custom_func)
|
||||||
#define custom_view_get_setting_sig() b32 custom_view_get_setting(Application_Links* app, View_ID view_id, View_Setting_ID setting, i64* value_out)
|
#define custom_view_get_setting_sig() b32 custom_view_get_setting(Application_Links* app, View_ID view_id, View_Setting_ID setting, i64* value_out)
|
||||||
#define custom_view_set_setting_sig() b32 custom_view_set_setting(Application_Links* app, View_ID view_id, View_Setting_ID setting, i64 value)
|
#define custom_view_set_setting_sig() b32 custom_view_set_setting(Application_Links* app, View_ID view_id, View_Setting_ID setting, i64 value)
|
||||||
#define custom_view_get_managed_scope_sig() Managed_Scope custom_view_get_managed_scope(Application_Links* app, View_ID view_id)
|
#define custom_view_get_managed_scope_sig() Managed_Scope custom_view_get_managed_scope(Application_Links* app, View_ID view_id)
|
||||||
|
@ -256,6 +257,7 @@ typedef b32 custom_view_close_type(Application_Links* app, View_ID view_id);
|
||||||
typedef Rect_f32 custom_view_get_buffer_region_type(Application_Links* app, View_ID view_id);
|
typedef Rect_f32 custom_view_get_buffer_region_type(Application_Links* app, View_ID view_id);
|
||||||
typedef Buffer_Scroll custom_view_get_buffer_scroll_type(Application_Links* app, View_ID view_id);
|
typedef Buffer_Scroll custom_view_get_buffer_scroll_type(Application_Links* app, View_ID view_id);
|
||||||
typedef b32 custom_view_set_active_type(Application_Links* app, View_ID view_id);
|
typedef b32 custom_view_set_active_type(Application_Links* app, View_ID view_id);
|
||||||
|
typedef b32 custom_view_enqueue_command_function_type(Application_Links* app, View_ID view_id, Custom_Command_Function* custom_func);
|
||||||
typedef b32 custom_view_get_setting_type(Application_Links* app, View_ID view_id, View_Setting_ID setting, i64* value_out);
|
typedef b32 custom_view_get_setting_type(Application_Links* app, View_ID view_id, View_Setting_ID setting, i64* value_out);
|
||||||
typedef b32 custom_view_set_setting_type(Application_Links* app, View_ID view_id, View_Setting_ID setting, i64 value);
|
typedef b32 custom_view_set_setting_type(Application_Links* app, View_ID view_id, View_Setting_ID setting, i64 value);
|
||||||
typedef Managed_Scope custom_view_get_managed_scope_type(Application_Links* app, View_ID view_id);
|
typedef Managed_Scope custom_view_get_managed_scope_type(Application_Links* app, View_ID view_id);
|
||||||
|
@ -433,6 +435,7 @@ custom_view_close_type *view_close;
|
||||||
custom_view_get_buffer_region_type *view_get_buffer_region;
|
custom_view_get_buffer_region_type *view_get_buffer_region;
|
||||||
custom_view_get_buffer_scroll_type *view_get_buffer_scroll;
|
custom_view_get_buffer_scroll_type *view_get_buffer_scroll;
|
||||||
custom_view_set_active_type *view_set_active;
|
custom_view_set_active_type *view_set_active;
|
||||||
|
custom_view_enqueue_command_function_type *view_enqueue_command_function;
|
||||||
custom_view_get_setting_type *view_get_setting;
|
custom_view_get_setting_type *view_get_setting;
|
||||||
custom_view_set_setting_type *view_set_setting;
|
custom_view_set_setting_type *view_set_setting;
|
||||||
custom_view_get_managed_scope_type *view_get_managed_scope;
|
custom_view_get_managed_scope_type *view_get_managed_scope;
|
||||||
|
@ -611,6 +614,7 @@ internal b32 view_close(Application_Links* app, View_ID view_id);
|
||||||
internal Rect_f32 view_get_buffer_region(Application_Links* app, View_ID view_id);
|
internal Rect_f32 view_get_buffer_region(Application_Links* app, View_ID view_id);
|
||||||
internal Buffer_Scroll view_get_buffer_scroll(Application_Links* app, View_ID view_id);
|
internal Buffer_Scroll view_get_buffer_scroll(Application_Links* app, View_ID view_id);
|
||||||
internal b32 view_set_active(Application_Links* app, View_ID view_id);
|
internal b32 view_set_active(Application_Links* app, View_ID view_id);
|
||||||
|
internal b32 view_enqueue_command_function(Application_Links* app, View_ID view_id, Custom_Command_Function* custom_func);
|
||||||
internal b32 view_get_setting(Application_Links* app, View_ID view_id, View_Setting_ID setting, i64* value_out);
|
internal b32 view_get_setting(Application_Links* app, View_ID view_id, View_Setting_ID setting, i64* value_out);
|
||||||
internal b32 view_set_setting(Application_Links* app, View_ID view_id, View_Setting_ID setting, i64 value);
|
internal b32 view_set_setting(Application_Links* app, View_ID view_id, View_Setting_ID setting, i64 value);
|
||||||
internal Managed_Scope view_get_managed_scope(Application_Links* app, View_ID view_id);
|
internal Managed_Scope view_get_managed_scope(Application_Links* app, View_ID view_id);
|
||||||
|
@ -789,6 +793,7 @@ global custom_view_close_type *view_close = 0;
|
||||||
global custom_view_get_buffer_region_type *view_get_buffer_region = 0;
|
global custom_view_get_buffer_region_type *view_get_buffer_region = 0;
|
||||||
global custom_view_get_buffer_scroll_type *view_get_buffer_scroll = 0;
|
global custom_view_get_buffer_scroll_type *view_get_buffer_scroll = 0;
|
||||||
global custom_view_set_active_type *view_set_active = 0;
|
global custom_view_set_active_type *view_set_active = 0;
|
||||||
|
global custom_view_enqueue_command_function_type *view_enqueue_command_function = 0;
|
||||||
global custom_view_get_setting_type *view_get_setting = 0;
|
global custom_view_get_setting_type *view_get_setting = 0;
|
||||||
global custom_view_set_setting_type *view_set_setting = 0;
|
global custom_view_set_setting_type *view_set_setting = 0;
|
||||||
global custom_view_get_managed_scope_type *view_get_managed_scope = 0;
|
global custom_view_get_managed_scope_type *view_get_managed_scope = 0;
|
||||||
|
|
|
@ -80,6 +80,7 @@ api(custom) function b32 view_close(Application_Links* app, View_ID view_id);
|
||||||
api(custom) function Rect_f32 view_get_buffer_region(Application_Links* app, View_ID view_id);
|
api(custom) function Rect_f32 view_get_buffer_region(Application_Links* app, View_ID view_id);
|
||||||
api(custom) function Buffer_Scroll view_get_buffer_scroll(Application_Links* app, View_ID view_id);
|
api(custom) function Buffer_Scroll view_get_buffer_scroll(Application_Links* app, View_ID view_id);
|
||||||
api(custom) function b32 view_set_active(Application_Links* app, View_ID view_id);
|
api(custom) function b32 view_set_active(Application_Links* app, View_ID view_id);
|
||||||
|
api(custom) function b32 view_enqueue_command_function(Application_Links* app, View_ID view_id, Custom_Command_Function* custom_func);
|
||||||
api(custom) function b32 view_get_setting(Application_Links* app, View_ID view_id, View_Setting_ID setting, i64* value_out);
|
api(custom) function b32 view_get_setting(Application_Links* app, View_ID view_id, View_Setting_ID setting, i64* value_out);
|
||||||
api(custom) function b32 view_set_setting(Application_Links* app, View_ID view_id, View_Setting_ID setting, i64 value);
|
api(custom) function b32 view_set_setting(Application_Links* app, View_ID view_id, View_Setting_ID setting, i64 value);
|
||||||
api(custom) function Managed_Scope view_get_managed_scope(Application_Links* app, View_ID view_id);
|
api(custom) function Managed_Scope view_get_managed_scope(Application_Links* app, View_ID view_id);
|
||||||
|
|
Loading…
Reference in New Issue