back button is back:
This commit is contained in:
parent
f1239345dc
commit
22afe1ea14
|
@ -3728,13 +3728,13 @@ step_file_view(System_Functions *system, View *view, View *active_view){
|
|||
|
||||
gui_do_text_field(target, message, empty_string);
|
||||
|
||||
id.id[0] = (u64)(0 + (IInt_Sure_To_Close << 8));
|
||||
id.id[0] = (u64)(0 + (VUI_Menu << 8));
|
||||
message = make_lit_string("Theme");
|
||||
if (gui_do_fixed_option(target, id, message, 0)){
|
||||
view_show_theme(view, view->map);
|
||||
}
|
||||
|
||||
id.id[0] = (u64)(1 + (IInt_Sure_To_Close << 8));
|
||||
id.id[0] = (u64)(1 + (VUI_Menu << 8));
|
||||
message = make_lit_string("Config");
|
||||
if (gui_do_fixed_option(target, id, message, 0)){
|
||||
view_show_config(view, view->map);
|
||||
|
@ -3749,7 +3749,7 @@ step_file_view(System_Functions *system, View *view, View *active_view){
|
|||
|
||||
gui_do_text_field(target, message, empty_string);
|
||||
|
||||
id.id[0] = (u64)(0 + (IInt_Sure_To_Close << 8));
|
||||
id.id[0] = (u64)(0 + (VUI_Config << 8));
|
||||
message = make_lit_string("Left Ctrl + Left Alt = AltGr");
|
||||
if (gui_do_fixed_option_checkbox(target, id, message, 0, (b8)models->settings.lctrl_lalt_is_altgr)){
|
||||
models->settings.lctrl_lalt_is_altgr = !models->settings.lctrl_lalt_is_altgr;
|
||||
|
@ -3807,6 +3807,13 @@ step_file_view(System_Functions *system, View *view, View *active_view){
|
|||
GUI_id id = {0};
|
||||
i32 i = 0;
|
||||
|
||||
String message = make_lit_string("Back");
|
||||
|
||||
id.id[0] = (u64)(0 + (VUI_Theme << 8));
|
||||
if (gui_do_button(target, id, message)){
|
||||
view->color_mode = CV_Mode_Library;
|
||||
}
|
||||
|
||||
gui_get_scroll_vars(target, view->showing_ui, &view->gui_scroll);
|
||||
gui_begin_scrollable(target, view->showing_ui, view->gui_scroll, 9.f * view->font_height);
|
||||
|
||||
|
@ -3842,7 +3849,6 @@ step_file_view(System_Functions *system, View *view, View *active_view){
|
|||
case IAct_New: message = make_lit_string("New: "); break;
|
||||
}
|
||||
|
||||
|
||||
Exhaustive_File_Loop loop;
|
||||
Exhaustive_File_Info file_info;
|
||||
|
||||
|
@ -3950,13 +3956,13 @@ step_file_view(System_Functions *system, View *view, View *active_view){
|
|||
|
||||
gui_do_text_field(target, message, empty_str);
|
||||
|
||||
id.id[0] = (u64)('y' + (IInt_Sure_To_Close << 8));
|
||||
id.id[0] = (u64)('y' + (VUI_Interactive << 8));
|
||||
message = make_lit_string("(Y)es");
|
||||
if (gui_do_fixed_option(target, id, message, 'y')){
|
||||
action = 0;
|
||||
}
|
||||
|
||||
id.id[0] = (u64)('n' + (IInt_Sure_To_Close << 8));
|
||||
id.id[0] = (u64)('n' + (VUI_Interactive << 8));
|
||||
message = make_lit_string("(N)o");
|
||||
if (gui_do_fixed_option(target, id, message, 'n')){
|
||||
action = 1;
|
||||
|
@ -3977,19 +3983,19 @@ step_file_view(System_Functions *system, View *view, View *active_view){
|
|||
|
||||
gui_do_text_field(target, message, empty_str);
|
||||
|
||||
id.id[0] = (u64)('y' + (IInt_Sure_To_Close << 8));
|
||||
id.id[0] = (u64)('y' + (VUI_Interactive << 8));
|
||||
message = make_lit_string("(Y)es");
|
||||
if (gui_do_fixed_option(target, id, message, 'y')){
|
||||
action = 0;
|
||||
}
|
||||
|
||||
id.id[0] = (u64)('n' + (IInt_Sure_To_Close << 8));
|
||||
id.id[0] = (u64)('n' + (VUI_Interactive << 8));
|
||||
message = make_lit_string("(N)o");
|
||||
if (gui_do_fixed_option(target, id, message, 'n')){
|
||||
action = 1;
|
||||
}
|
||||
|
||||
id.id[0] = (u64)('s' + (IInt_Sure_To_Close << 8));
|
||||
id.id[0] = (u64)('s' + (VUI_Interactive << 8));
|
||||
message = make_lit_string("(S)ave and kill");
|
||||
if (gui_do_fixed_option(target, id, message, 's')){
|
||||
action = 2;
|
||||
|
@ -4268,6 +4274,7 @@ do_input_file_view(System_Functions *system, Exchange *exchange,
|
|||
}break;
|
||||
|
||||
case guicom_color_button:
|
||||
case guicom_button:
|
||||
case guicom_file_option:
|
||||
case guicom_style_preview:
|
||||
{
|
||||
|
@ -4824,6 +4831,32 @@ draw_fat_option_block(GUI_Target *gui_target, Render_Target *target, View *view,
|
|||
draw_string(target, font_id, pop, x, y, pop_color);
|
||||
}
|
||||
|
||||
internal void
|
||||
draw_button(GUI_Target *gui_target, Render_Target *target, View *view, i32_Rect rect, GUI_id id, String text){
|
||||
Models *models = view->models;
|
||||
Style *style = &models->style;
|
||||
|
||||
i32 active_level = gui_active_level(gui_target, id);
|
||||
i16 font_id = models->global_font.font_id;
|
||||
|
||||
i32_Rect inner = get_inner_rect(rect, 3);
|
||||
|
||||
u32 margin = style->main.default_color;
|
||||
u32 back = get_margin_color(active_level, style);
|
||||
u32 text_color = style->main.default_color;
|
||||
|
||||
i32 h = view->font_height;
|
||||
i32 y = inner.y0 + h/2 - 1;
|
||||
|
||||
i32 w = (i32)font_string_width(target, font_id, text);
|
||||
i32 x = (inner.x1 + inner.x0 - w)/2;
|
||||
|
||||
draw_rectangle(target, inner, back);
|
||||
draw_rectangle_outline(target, inner, margin);
|
||||
|
||||
draw_string(target, font_id, text, x, y, text_color);
|
||||
}
|
||||
|
||||
internal void
|
||||
draw_style_preview(GUI_Target *gui_target, Render_Target *target, View *view, i32_Rect rect, GUI_id id, Style *style){
|
||||
Models *models = view->models;
|
||||
|
@ -4972,6 +5005,15 @@ do_render_file_view(System_Functions *system, Exchange *exchange,
|
|||
draw_fat_option_block(gui_target, target, view, gui_session.rect, b->id, f, m, status);
|
||||
}break;
|
||||
|
||||
case guicom_button:
|
||||
{
|
||||
GUI_Interactive *b = (GUI_Interactive*)h;
|
||||
void *ptr = (b + 1);
|
||||
String t = gui_read_string(&ptr);
|
||||
|
||||
draw_button(gui_target, target, view, gui_session.rect, b->id, t);
|
||||
}break;
|
||||
|
||||
case guicom_scrollable:
|
||||
{
|
||||
Models *models = view->models;
|
||||
|
|
17
4ed_gui.cpp
17
4ed_gui.cpp
|
@ -172,6 +172,7 @@ enum GUI_Command_Type{
|
|||
guicom_color_button,
|
||||
guicom_file_option,
|
||||
guicom_fixed_option,
|
||||
guicom_button,
|
||||
guicom_fixed_option_checkbox,
|
||||
guicom_style_preview,
|
||||
guicom_scrollable,
|
||||
|
@ -427,6 +428,21 @@ gui_do_file_option(GUI_Target *target, GUI_id id, String filename, b32 is_folder
|
|||
return(result);
|
||||
}
|
||||
|
||||
internal b32
|
||||
gui_do_button(GUI_Target *target, GUI_id id, String message){
|
||||
b32 result = 0;
|
||||
GUI_Interactive *b = gui_push_button_command(target, guicom_button, id);
|
||||
GUI_Header *h = (GUI_Header*)b;
|
||||
gui_push_string(target, h, message);
|
||||
gui_align(target, h);
|
||||
|
||||
if (gui_id_eq(id, target->active)){
|
||||
result = 1;
|
||||
}
|
||||
|
||||
return(result);
|
||||
}
|
||||
|
||||
internal b32
|
||||
gui_do_fixed_option(GUI_Target *target, GUI_id id, String message, char key){
|
||||
b32 result = 0;
|
||||
|
@ -796,6 +812,7 @@ gui_interpret(GUI_Target *target, GUI_Session *session, GUI_Header *h){
|
|||
|
||||
case guicom_file_option:
|
||||
case guicom_fixed_option:
|
||||
case guicom_button:
|
||||
case guicom_fixed_option_checkbox:
|
||||
give_to_user = 1;
|
||||
rect = gui_layout_fixed_h(session, y, session->line_height * 2);
|
||||
|
|
Loading…
Reference in New Issue