X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fgwindowgui.C;h=bc250716b68b3937500159f6c779b21a0499d037;hp=3fef296efaf004669abeeda8bfeea8d90c7b4ae4;hb=HEAD;hpb=78871039cd6acf5ec257bd8c8e94c83ef81dc45a diff --git a/cinelerra-5.1/cinelerra/gwindowgui.C b/cinelerra-5.1/cinelerra/gwindowgui.C index 3fef296e..e0506c78 100644 --- a/cinelerra-5.1/cinelerra/gwindowgui.C +++ b/cinelerra-5.1/cinelerra/gwindowgui.C @@ -51,6 +51,8 @@ GWindowGUI::GWindowGUI(MWindow *mwindow, int w, int h) this->mwindow = mwindow; camera_xyz = 0; projector_xyz = 0; +// *** CONTEXT_HELP *** + context_help_set_keyword("Show Overlays"); } GWindowGUI::~GWindowGUI() @@ -63,7 +65,7 @@ const char *GWindowGUI::non_auto_text[NON_AUTOMATION_TOTAL] = N_("Titles"), N_("Transitions"), N_("Plugin Keyframes"), - N_("Hard Edges"), + N_("Hard Edges") }; const char *GWindowGUI::auto_text[AUTOMATION_TOTAL] = @@ -82,6 +84,31 @@ const char *GWindowGUI::auto_text[AUTOMATION_TOTAL] = N_("Speed") }; +const char *GWindowGUI::non_auto_help[NON_AUTOMATION_TOTAL] = +{ + "Video and Audio Tracks and Navigation", + "Video and Audio Tracks and Navigation", + "Transition Plugins", + "Edit Params", + "Cut and Paste Editing" +}; + +const char *GWindowGUI::auto_help[AUTOMATION_TOTAL] = +{ + "The Patchbay", + "Camera and Projector", + "Camera and Projector", + "Camera and Projector", + "Camera and Projector", + "Camera and Projector", + "Camera and Projector", + "The Patchbay", + "The Patchbay", + "Overlays", + "Masks", + "Fade Automation Usage and Auto Gang" +}; + int GWindowGUI::auto_colors[AUTOMATION_TOTAL] = { PINK, @@ -166,18 +193,33 @@ const char *GWindowGUI::toggle_text(toggleinfo *tp) return "()"; } +const char *GWindowGUI::toggle_help(toggleinfo *tp) +{ + if( tp->isauto > 0 ) return auto_help[tp->ref]; + if( !tp->isauto ) return non_auto_help[tp->ref]; + switch( tp->ref ) { + case NONAUTOTOGGLES_CAMERA_XYZ: + case NONAUTOTOGGLES_PROJECTOR_XYZ: + return "Camera and Projector"; + case NON_AUTOMATION_HARD_EDGES: + return "Cut and Paste Editing"; + } + return "Show Overlays"; +} + void GWindowGUI::calculate_extents(BC_WindowBase *gui, int *w, int *h) { int temp1, temp2, temp3, temp4, temp5, temp6, temp7; int current_w, current_h; - *w = 10; - *h = 10; + int ys5 = yS(5), ys10 = yS(10); + *w = xS(10); + *h = ys10; for( int i=0; i<(int)(sizeof(toggle_order)/sizeof(toggle_order[0])); ++i ) { toggleinfo *tp = &toggle_order[i]; int ref = tp->ref; if( ref < 0 ) { - *h += get_resources()->bar_data->get_h() + 5; + *h += get_resources()->bar_data->get_h() + ys5; continue; } BC_Toggle::calculate_extents(gui, @@ -187,11 +229,11 @@ void GWindowGUI::calculate_extents(BC_WindowBase *gui, int *w, int *h) toggle_text(tp), MEDIUMFONT); current_w += current_h; *w = MAX(current_w, *w); - *h += current_h + 5; + *h += current_h + ys5; } - *h += 10; - *w += 20; + *h += ys10; + *w += xS(20); } GWindowColorButton::GWindowColorButton(GWindowToggle *auto_toggle, @@ -237,17 +279,19 @@ void GWindowColorButton::handle_done_event(int result) void GWindowGUI::create_objects() { - int x = 10, y = 10; + int xs10 = xS(10); + int ys5 = yS(5), ys10 = yS(10); + int x = xs10, y = ys10; lock_window("GWindowGUI::create_objects"); for( int i=0; i<(int)(sizeof(toggle_order)/sizeof(toggle_order[0])); ++i ) { toggleinfo *tp = &toggle_order[i]; int ref = tp->ref; if( ref < 0 ) { - BC_Bar *bar = new BC_Bar(x,y,get_w()-x-10); + BC_Bar *bar = new BC_Bar(x,y,get_w()-x-xs10); add_tool(bar); toggles[i] = 0; - y += bar->get_h() + 5; + y += bar->get_h() + ys5; continue; } const char *label = toggle_text(tp); @@ -264,14 +308,16 @@ void GWindowGUI::create_objects() case AUTOMATION_MASK: vframe = mwindow->theme->maskkeyframe_data; break; } if( !vframe ) { - int wh = toggle->get_h() - 4; + int wh = toggle->get_h() - yS(4); + if( wh < 1 ) wh = 1; GWindowColorButton *color_button = - new GWindowColorButton(toggle, get_w()-wh-10, y+2, wh, color); + new GWindowColorButton(toggle, get_w()-wh-ys10, y+yS(2), wh, color); add_tool(color_button); color_button->create_objects(); + color_button->context_help_set_keyword(toggle_help(tp)); } else - draw_vframe(vframe, get_w()-vframe->get_w()-10, y); + draw_vframe(vframe, get_w()-vframe->get_w()-xs10, y); } else { const char *accel = 0; @@ -286,16 +332,17 @@ void GWindowGUI::create_objects() break; case NON_AUTOMATION_HARD_EDGES: VFrame *vframe = mwindow->theme->hardedge_data; - draw_vframe(vframe, get_w()-vframe->get_w()-10, y); + draw_vframe(vframe, get_w()-vframe->get_w()-xs10, y); hard_edges = toggle; break; } - if( accel ) { - int x1 = get_w() - BC_Title::calculate_w(this, accel) - 10; + if( accel ) { + int x1 = get_w() - BC_Title::calculate_w(this, accel) - xs10; add_subwindow(new BC_Title(x1, y, accel)); } } - y += toggles[i]->get_h() + 5; + toggle->context_help_set_keyword(toggle_help(tp)); + y += toggles[i]->get_h() + ys5; } update_toggles(0); unlock_window(); @@ -404,7 +451,7 @@ int GWindowGUI::keypress_event() } break; } - return 0; + return context_help_check_and_show(); } int GWindowGUI::check_xyz(int group)