this->mwindow = mwindow;
camera_xyz = 0;
projector_xyz = 0;
+// *** CONTEXT_HELP ***
+ context_help_set_keyword("Show Overlays");
}
GWindowGUI::~GWindowGUI()
N_("Titles"),
N_("Transitions"),
N_("Plugin Keyframes"),
- N_("Hard Edges"),
+ N_("Hard Edges")
};
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,
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,
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,
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);
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;
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();
}
break;
}
- return 0;
+ return context_help_check_and_show();
}
int GWindowGUI::check_xyz(int group)