Ejemplo n.º 1
0
void Pdb::MemMenu(ArrayCtrl& array, Bar& bar, const String& exp)
{
	if(bar.IsScanKeys())
		return;
	CParser p(exp);
	try {
		Val v = Exp(p);
		bool sep = true;
		if(v.ref > 0) {
			if(sep)
				bar.Separator();
			sep = false;
			bar.Add("Memory at " + exp, THISBACK1(MemoryGoto, exp));
		}
		else
		if(v.rvalue) {
			if(sep)
				bar.Separator();
			sep = false;
			bar.Add("Memory at 0x" + FormatIntHex((dword)GetInt(v)), THISBACK1(MemoryGoto, "&" + exp));
		}
		if(!v.rvalue) {
			if(sep)
				bar.Separator();
			sep = false;
			bar.Add("Memory at &&" + exp, THISBACK1(MemoryGoto, "&" + exp));
		}
	}
	catch(CParser::Error e) {
	}
}
Ejemplo n.º 2
0
void FormEdit::ViewBar(Bar& bar)
{
	bar.Add(t_("Switch to as-is view..."), FormViewImg::ViewModeAsIs(), THISBACK1(SetViewMode, VIEW_MODE_AS_IS))
		.Check(_ViewMode == VIEW_MODE_AS_IS).Enable(_View.IsLayout())
		.Tip(t_("Switch to as-is view..."));

	bar.Add(t_("Switch to detailed view..."), FormViewImg::ViewModeInfo(), THISBACK1(SetViewMode, VIEW_MODE_INFO))
		.Check(_ViewMode == VIEW_MODE_INFO).Enable(_View.IsLayout())
		.Tip(t_("Switch to detailed view..."));
		
	bar.Add(t_("Switch to solid view..."), FormViewImg::ViewModeWireframe(), THISBACK1(SetViewMode, VIEW_MODE_WIREFRAME))
		.Check(_ViewMode == VIEW_MODE_WIREFRAME).Enable(_View.IsLayout())
		.Tip(t_("Switch to solid view..."));

	bar.Add(t_("Bind to grid..."), FormViewImg::GridBinding(), THISBACK2(ToggleFlag, "Grid.Binding", false))
		.Check(GetFlag("Grid.Binding", false)).Enable(_View.IsLayout())
		.Tip(t_("Bind to grid..."));

	bar.Add(t_("Coloring of the objects..."), FormEditImg::Coloring(), THISBACK(ToggleColoring))
		.Check(GetFlag("View.Coloring", true)).Enable(_View.IsLayout())
		.Tip(t_("Coloring of the objects..."));

	bar.Separator();

	bar.Add(t_("Use system font..."), FormEditImg::FontZoom(), THISBACK(StdFontZoom)).Check(IsStandardZoom())
		.Enable(_View.IsLayout())
		.Tip(t_("Use system font..."));
	bar.Add(t_("Use larger font..."), FormEditImg::FontZoomStd(), THISBACK(SmallFontZoom)).Check(IsSmallZoom())
		.Enable(_View.IsLayout())
		.Tip(t_("Use larger font..."));
	bar.Add(t_("Use largest font..."), FormEditImg::FontZoomLarge(), THISBACK(LargeFontZoom)).Check(IsLargeZoom())
		.Enable(_View.IsLayout())
		.Tip(t_("Use largest font..."));
}
Ejemplo n.º 3
0
void DockBase::GroupMenu(Bar& bar)
{
	TreeCtrl& tree = grouptab.grouptree;
	int id = tree.GetCursor();
	if(id < 0) return;
	id = tree.GetParent(id);
	activegroup = (String) tree.GetValue(tree.GetCursor());
	if(id >= 0)
	{
		if(id == 0 && tree.GetChildCount(id))
		{
			bar.Add(Format(t_("Dock Group '%s'"), activegroup), THISBACK1(GroupDockMenu, 0));
			bar.Add(Format(t_("AutoHide Group '%s'"), activegroup), THISBACK1(GroupDockMenu, 1));
			bar.Add(Format(t_("Float Group '%s'"), activegroup), THISBACK3(GroupMenuAction, activegroup, 2, -1));
			bar.Separator();
			bar.Add(tree.GetChildCount(tree.GetCursor()) > 1, Format(t_("Tabify Group '%s' and..."), activegroup), THISBACK1(GroupTabifyMenu, 3));
			bar.Separator();
			bar.Add(activegroup != t_("Default"), Format(t_("Delete Group '%s'"), activegroup), THISBACK1(DeleteWidgetGroup, activegroup));
			bar.Separator();
			bar.Add(Format(t_("Close Group '%s'"), activegroup), DockCtrlImages::CClose(), THISBACK3(GroupMenuAction, activegroup, -1, -1));
		
		}
		if(id > 0)
		{
			Vector<int> sel = tree.GetSel();
			for(int i = 0; i < sel.GetCount(); i++)	id = tree.Get(sel[i]);
			CtrlRecord* record = GetCtrlRecordFromId(id);
			ASSERT(record);
			record->ctrl->Menu();
		}
	}
	else bar.Add(t_("Add New Group..."), THISBACK(OnAddNewGroup));
}
Ejemplo n.º 4
0
void LayoutDesigner::SpringsBar(Bar& bar) {
	bool m = !itemi.IsEmpty();
	int im = GetItemPosMask();
	bar.Add(m, "Left", TB_SPRINGLEFT(), THISBACK1(ItemPos, MAKELONG(POS_LEFT, POS_NONE)))
		.Check(im & MAKELONG(1 << POS_LEFT, 0));
	bar.Add(m, "Right", TB_SPRINGRIGHT(), THISBACK1(ItemPos, MAKELONG(POS_RIGHT, POS_NONE)))
		.Check(im & MAKELONG(1 << POS_RIGHT, 0));
	bar.Add(m, "Horz size", TB_SPRINGHSIZE(), THISBACK1(ItemPos, MAKELONG(POS_SIZE, POS_NONE)))
		.Check(im & MAKELONG(1 << POS_SIZE, 0));
	bar.Add(m, "Horz center", TB_SPRINGHCENTER(), THISBACK1(ItemPos, MAKELONG(POS_CENTER, POS_NONE)))
		.Check(im & MAKELONG(1 << POS_CENTER, 0));
	bar.Separator();
	bar.Add(m, "Top", TB_SPRINGTOP(), THISBACK1(ItemPos, MAKELONG(POS_NONE, POS_TOP)))
		.Check(im & MAKELONG(0, 1 << POS_TOP));
	bar.Add(m, "Bottom", TB_SPRINGBOTTOM(), THISBACK1(ItemPos, MAKELONG(POS_NONE, POS_BOTTOM)))
		.Check(im & MAKELONG(0, 1 << POS_BOTTOM));
	bar.Add(m, "Vert size", TB_SPRINGVSIZE(), THISBACK1(ItemPos, MAKELONG(POS_NONE, POS_SIZE)))
		.Check(im & MAKELONG(0, 1 << POS_SIZE));
	bar.Add(m, "Vert center", TB_SPRINGVCENTER(), THISBACK1(ItemPos, MAKELONG(POS_NONE, POS_CENTER)))
		.Check(im & MAKELONG(0, 1 << POS_CENTER));
	bar.Separator();
	bar.Add(m, "Auto springs", TB_SPRINGAUTO(), THISBACK1(ItemPos, MAKELONG(POS_AUTO, POS_AUTO)))
		.Key(K_CTRL_R);
	bar.Add(m, "Topleft springs", TB_SPRINGTOPLEFT(), THISBACK1(ItemPos, MAKELONG(POS_LEFT, POS_TOP)))
		.Key(im == MAKELONG(1 << POS_LEFT, 1 << POS_TOP));
}
Ejemplo n.º 5
0
void Ide::Diff()
{
	if(IsNull(editfile))
		return;
	FileDiff diffdlg(AnySourceFs());
	diffdlg.diff.WhenLeftLine = THISBACK1(GotoDiffLeft, &diffdlg);
	diffdlg.diff.WhenRightLine = THISBACK1(GotoDiffRight, &diffdlg);
	diffdlg.Execute(editfile);
}
Ejemplo n.º 6
0
void MainWorkSpace::trayMenu(Bar& CurrentBar){
	if(isHidden)
		CurrentBar.Add(t_("Show application"), THISBACK(launch));
	else
		CurrentBar.Add(t_("Hide application"), THISBACK(hide));
	CurrentBar.Add(t_("Minimize"), THISBACK1(Minimize, true));
	CurrentBar.Add(t_("Maximize"), THISBACK1(Maximize, true));
	//CurrentBar.Add(t_("Restore"), THISBACK(Restore));
	CurrentBar.Add(AsString(t_("About")) + "...", THISBACK(About));
	CurrentBar.Add(t_("Exit"), THISBACK(Exit));
}
Ejemplo n.º 7
0
void Ide::FindStdDir()
{
	String n = GetFileFolder(editfile);
	MenuBar menu;
	if(!IsNull(n))
		menu.Add(n, THISBACK1(FindSetStdDir, n));
	Vector<String> d = GetUppDirs();
	for(int i = 0; i < d.GetCount(); i++)
		menu.Add(d[i], THISBACK1(FindSetStdDir, d[i]));
	menu.Execute(&ff.folder, ff.folder.GetPushScreenRect().BottomLeft());
}
Ejemplo n.º 8
0
VegaTab1::VegaTab1()
{   // set the widths of each coloumn
	// arr.ColumnWidths("25 3 5 12 8 8 2 3 3 3 3");
	CtrlLayout(*this, "");
	SizePos();
	              //id, label, width
	arr.AddColumn("ID", "ID", 3).HeaderTab().WhenAction = THISBACK1(SortRecord, 0);   //0
	arr.AddColumn("Name", "Name", 21).HeaderTab().WhenAction = THISBACK1(SortRecord, 1);   //1
	arr.AddColumn("Country", "Fed", 3);         //2
	arr.AddColumn("Birthday", "Birthday", 6);   //3
	arr.AddColumn("Gender", "G", 3);       //4
	arr.AddColumn("Title", "Title", 4);         //5
	arr.AddColumn("IDFIDE", "ID FIDE", 6);      //6
	arr.AddColumn("RatFIDE", "Rtg FIDE", 5).HeaderTab().WhenAction = THISBACK1(SortRecord, 7);    //7
	arr.AddColumn("IDNat", "ID Nat", 6);        //8
	arr.AddColumn("RatNat", "Rtg Nat", 5).HeaderTab().WhenAction = THISBACK1(SortRecord, 9);      //9
	arr.AddColumn("K", "K", 3);                 //10
	arr.AddColumn("Status", "Status", 5).Ctrls(Avail3);    //11
//	arr.AddColumn("Status", "Status", 5).Ctrls(Avail3).HeaderTab().WhenAction = THISBACK1(SortRecord, 12);    //11

//	arr.AddColumn("Avail", "Avail?", 4).Ctrls(Avail3).Ctrls(Callback1<One<Ctrl>&> factory);
//	arr.AddColumn("Extra","Extra",6).Ctrls(Extra2);

    arr.NoHorzGrid();
	arr.SetLineCy(VegaImg::imgYes().GetSize().cy+2); //option image adjustment...

	//arr.WhenLeftClick = THISBACK(PromptCell);
	arr.WhenLeftClick = THISBACK(FillFieldsFromRow);

	// color even rows
	arr.EvenRowColor();

	//drop list widget
	editTitle.Add("1", "WGM");
	editTitle.Add("2", "CM");
	editTitle.Add("3", "AA");

//	btnAdd <<= THISBACK(AddPlayer);  //maybe it's better to have all callbacks from main menu?...
	btnModify <<= THISBACK(ModifyPlayer);
	btnClear <<= THISBACK(MaskDefaultValue);

    tsex.SetImage(VegaImg::female, VegaImg::male); // false state, true state
	tsex <<= 1; //set to 'male' // tsex <<= THISBACK(Tsex);
	editName.SetFilter(FilterCommaSpace).MaxChars(25); //added filter
	editIDFIDE.MaxChars(8); //set limit
	editIDNat.MaxChars(8); //set limit
	editRatFIDE.MaxChars(4); //set limit
	editRatNat.MaxChars(4); //set limit
	kcoeff.MaxChars(2); //set limit
	//fill with default value
	MaskDefaultValue();
}
Ejemplo n.º 9
0
OutMode::OutMode(Ide& ide)
:	ide(ide)
{
	CtrlLayoutOKCancel(*this, "Output mode");
	config <<= THISBACK(ConfigChange);
	method <<= THISBACK(Preset);
	cmd_options <<= THISBACK(CmdOptions);
	SyncLock();
	DirSel(export_dir, dsb);
	export_all <<= THISBACK1(Export, 1);
	export_used <<= THISBACK1(Export, 0);
	export_makefile <<= THISBACK1(Export, 2);
	reset_blitz <<= callback(ResetBlitz);
}
Ejemplo n.º 10
0
CodeBrowser::CodeBrowser()
{
	scope.AddKey();
	scope.AddColumn("Scope");
	scope.WhenSel = THISBACK(LoadScope);
	scope.NoHeader().NoGrid();
	search_scope <<= THISBACK(Load);
	search_scope.SetFilter(SearchItemFilter);
	search_scope.NullText("Search type or header ");
	item.AddKey();
	item.AddColumn("Item").SetDisplay(display).Margin(2);
	item.NoHeader();
	item.SetLineCy(BrowserFont().Info().GetHeight() + 3);
	search.NullText("Find ");
	search.SetFilter(SearchItemFilter);
	search <<= THISBACK(Search);
//	search.AddFrame(clear);
//	clear.SetImage(BrowserImg::Clear());
//	clear.NoWantFocus();
//	clear <<= THISBACK(ClearSearch);
	range = 0;
	static const char *tip[] = { "Nest", "Package", "File" };
	for(int i = 0; i < 3; i++)
		rangebutton[i].SetImage(BrowserImg::Get(BrowserImg::I_range_nest + i)).Tip(tip[i]).NoWantFocus()
		              <<= THISBACK1(SetRange, i + 1);
	SetRange(0);
	sort.Tip("Order by names");
	sort.SetImage(BrowserImg::Sort()).NoWantFocus();
	sort <<= THISBACK(LoadScope);
}
Ejemplo n.º 11
0
void WorkspaceWork::InsertSpecialMenu(Bar& menu)
{
	bool isaux = IsAux();
	menu.Add("Insert any file(s)", THISBACK1(AddFile, ANY_FILE))
		.Key(K_SHIFT|K_CTRL_I)
		.Help("Insert files from anywhere on disk (discouraged in portable packages)");
	menu.Add(isaux && GetOutputDir().GetCount(), "Insert output directory file(s)", THISBACK1(AddFile, OUTPUT_FILE))
		.Help("Open file selector in output / intermediate directory for current package");
#ifdef PLATFORM_POSIX
	menu.Add(isaux && GetConfigDir().GetCount(), "Insert config directory file(s)", THISBACK1(AddFile, CONFIG_FILE))
		.Help("Open file selector in output / intermediate directory for current package");
#endif
	menu.Add(isaux, "Insert Local directory file(s)", THISBACK1(AddFile, LOCAL_FILE))
		.Help("Open file selector in Local directory for current package");
	menu.Add("Insert home directory file(s)", THISBACK1(AddFile, HOME_FILE))
		.Help("Open file selector in current user's HOME directory");
}
Ejemplo n.º 12
0
ProtectClientDemo::ProtectClientDemo()
{
	CtrlLayout(*this, "Protect client demo");
	
	// setup client url and key
	client
		.SetURL("localhost/scgi/testing")
//		.SetURL("localhost/scgi")
//		.SetURL("timberstruct.it/scgi/testing")
		.SetCommunicationKey(ScanHexString("aabbccddeeff00112233445566778899"))
	;
	
	// gets eventually previously stored activation key from client
	activationKey <<= client.GetActivationKey();

	registerButton		<<= THISBACK1(onAction, PROTECT_REGISTER);
	connectButton		<<= THISBACK1(onAction, PROTECT_CONNECT);
	refreshButton		<<= THISBACK1(onAction, PROTECT_REFRESH);
	disconnectButton	<<= THISBACK1(onAction, PROTECT_DISCONNECT);
	getKeyButton		<<= THISBACK1(onAction, PROTECT_GETLICENSEKEY);
	getInfoButton		<<= THISBACK1(onAction, PROTECT_GETLICENSEINFO);
	setInfoButton		<<= THISBACK1(onAction, PROTECT_UPDATEUSERDATA);
	
	quitButton <<= Breaker();
	
	emailEdit		<<= "*****@*****.**";
}
Ejemplo n.º 13
0
// barTree context menu
void XMLBarEditor::treeContextCb(Bar &b)
{
	// if no toolbar selected in, no menu
	if(!bar)
		return;
	
	int i = barTree.GetCursor();
	if(i < 0)
		return;
	if(i > 0)
	{
		b.Add(t_("Insert new item before current"), THISBACK1(treeContextAddCb, 1));
		b.Add(t_("Insert new item after current"), THISBACK1(treeContextAddCb, 2));
		b.Separator();
		b.Add(t_("Insert new separator before current item"), THISBACK1(treeContextAddCb, 5));
		b.Add(t_("Insert new separator after current item"), THISBACK1(treeContextAddCb, 6));
	}
	if(barTree.GetChildCount(i))
	{
		b.Separator();
		b.Add(t_("Insert new child item at top"), THISBACK1(treeContextAddCb, 3));
		b.Add(t_("Append new child item at bottom"), THISBACK1(treeContextAddCb, 4));
	}
	else
	{
		b.Separator();
		b.Add(t_("Insert new child item"), THISBACK1(treeContextAddCb, 4));
	}
	if(i > 0)
	{
		b.Separator();
		b.Add(t_("Remove item"), THISBACK(treeContextRemoveCb));
	}
}
Ejemplo n.º 14
0
void RasterCtrlTestWindow::Menu_View( Bar& bar )
{
    bar.Add( "Page width", THISBACK1( Menu_View_cb,  -1 ) );
    bar.Add( "Full page",  THISBACK1( Menu_View_cb,  -2 ) );
    bar.Add( "Zoom 10%",   THISBACK1( Menu_View_cb,  10 ) );
    bar.Add( "Zoom 20%",   THISBACK1( Menu_View_cb,  20 ) );
    bar.Add( "Zoom 50%",   THISBACK1( Menu_View_cb,  50 ) );
    bar.Add( "Zoom 100%",  THISBACK1( Menu_View_cb, 100 ) );
    bar.Add( "Zoom 150%",  THISBACK1( Menu_View_cb, 150 ) );
    bar.Add( "Toggle thumbnails" , THISBACK1( Menu_View_cb, -3 ) );

} // END RasterCtrlTestWindow::ViewMenu()
Ejemplo n.º 15
0
void Gdb_MI2::DebugBar(Bar& bar)
{
	bar.Add("Stop debugging", DbgImg::StopDebug(), THISBACK(Stop)).Key(K_SHIFT_F5);
	bar.Separator();
#ifdef PLATFORM_POSIX
	bar.Add(!stopped, "Asynchronous break", THISBACK(AsyncBrk));
#endif
	bool b = !IdeIsDebugLock();
	bar.Add(b, "Step into", DbgImg::StepInto(), THISBACK1(Step, disas.HasFocus() ? "exec-step-instruction" : "exec-step")).Key(K_F11);
	bar.Add(b, "Step over", DbgImg::StepOver(), THISBACK1(Step, disas.HasFocus() ? "exec-next-instruction" : "exec-next")).Key(K_F10);
	bar.Add(b, "Step out", DbgImg::StepOut(), THISBACK1(Step, "exec-finish")).Key(K_SHIFT_F11);
	bar.Add(b, "Run to", DbgImg::RunTo(), THISBACK(doRunTo)).Key(K_CTRL_F10);
	bar.Add(b, "Run", DbgImg::Run(), THISBACK(Run)).Key(K_F5);
	bar.MenuSeparator();
	bar.Add(b, "Quick watch", THISBACK(QuickWatch)).Key(K_CTRL_Q);
	bar.MenuSeparator();
	bar.Add(b, "Copy backtrace", THISBACK(CopyStack));
	bar.Add(b, "Copy dissassembly", THISBACK(CopyDisas));
}
Ejemplo n.º 16
0
void GoogleTranslatorDemo::MenuSetLanguageFrom(Bar& currentBar, bool& need_translate) {
    String lang_from = outputwindow.fromlanguagectrl.GetKey(outputwindow.fromlanguagectrl.GetIndex());
    String cur_lang_key;

    for(int i = 0; i < languageslist.GetCount(); ++i) {
        cur_lang_key = languageslist.GetKey(i);

        VectorMap<String, String> cur_parameter;

        cur_parameter.Add("LanguageFrom", cur_lang_key);
        cur_parameter.Add("NeedTranslate", need_translate ? "TRUE" : "FALSE");

        if(cur_lang_key == lang_from)
            currentBar.Add(languageslist[i], GoogleTranslatorDemoImg::CurrentLang(), THISBACK1(MenuSetLanguageTo, cur_parameter));
        else if (cur_lang_key == languagefrom)
            currentBar.Add(languageslist[i], GoogleTranslatorDemoImg::CurrentTranslatedLang(), THISBACK1(MenuSetLanguageTo, cur_parameter));
        else
            currentBar.Add(languageslist[i], THISBACK1(MenuSetLanguageTo, cur_parameter));
    }
}
Ejemplo n.º 17
0
void MapEditor::OnChangeLevel()
{
	int row = LevelList.GetCurrentRow();
	if (row < 0) return;

	_map.GetLevels()[row].WhenCalculate = THISBACK1(OnLevelMapCalc, row);
	_map.GetLevels()[row].WhenMapList = THISBACK(OnLevelMapList);
	_map.GetLevels()[row].OpenProperties();

	UpdateLevelList();
}
Ejemplo n.º 18
0
DlgCompareDir::DlgCompareDir()
{
	CtrlLayout(*this, "Compare directories");
	Sizeable().Zoomable();
	refresh <<= THISBACK(CmdRefresh);
	splitter.Vert(tree, editor);
	editor << lineedit.SizePos() << qtf.SizePos();
	qtf.Background(White());
	qtf.SetFrame(InsetFrame());
	path_a.AddFrame(browse_a);
	browse_a.SetImage(CtrlImg::right_arrow());
	browse_a <<= THISBACK1(DoBrowse, &path_a);
	path_b.AddFrame(browse_b);
	browse_b.SetImage(CtrlImg::right_arrow());
	browse_b <<= THISBACK1(DoBrowse, &path_b);
	file_mask <<= "*.cpp *.h *.hpp *.c *.C *.cxx *.cc *.lay *.iml *.upp *.sch *.dph";
	tree.WhenCursor = THISBACK(DoTreeCursor);
	lineedit.SetReadOnly();
	lineedit.SetFont(Courier(14));
}
Ejemplo n.º 19
0
void SqlObjectTree::ToolLocal(Bar& bar)
{
	if(schema.IsCursor()) {
		const Item& item = ValueTo<Item>(~schema);
		switch(item.type) {
			case OBJ_TABLE_COLUMNS: {
				bar.Add(t_("Export"), THISBACK1(TableExport, item.schema + "." + item.object));
			}
		}
	}
}
Ejemplo n.º 20
0
PropertiesWindow::PropertiesWindow()
{
	Sizeable().MaximizeBox();
	_Item  = NULL;
	_Index = -1;

	Add(_Headers.HSizePosZ().TopPos(0, _Headers.GD_ROW_HEIGHT));
	_Headers.SetFrame(NullFrame());
	_Headers.Editing().OneClickEdit();
	_Headers.AddColumn(t_("Property")).SetDisplay(_TypeDisplay);
	_Headers.AddColumn(t_("Value")).SetDisplay(_TypeDisplay).Edit(_DropList);
	_Headers.Sorting(false);
	_Headers.HideRow(0);
	_Headers.FullColResizing(false);

	_DropList.Add("Button");
	_DropList.Add("Label");
	_DropList.Add("EditField");
	_DropList.Add("EditInt");
	_DropList.Add("DropDate");
	_DropList.Add("TabCtrl");
	_DropList.Add("GridCtrl");
	_DropList.Add("ProgressBar");
	_DropList.Add("Form");

	_DropList.WhenAction = THISBACK1(OnEndEdit, 1);

	Add(_Options.HSizePosZ().VSizePos(_Headers.GD_ROW_HEIGHT, 0));
	_Options.SetFrame(NullFrame());
	_Options.Editing().OneClickEdit();
	_Options.AddColumn(t_("Property"));
	_Options.AddColumn(t_("Value")).SetDisplay(_Display);
	_Options.SetInfo(t_("No properties"));
	_Options.HideRow(0);
	_Options.SetInfoOffset(_Options.GD_HDR_HEIGHT);
	_Options.FullColResizing(false);

	_Options.WhenChangeRow = THISBACK(OnStartEdit);
	_Options.WhenUpdateCell = THISBACK1(OnEndEdit, 0);
}
Ejemplo n.º 21
0
void LegendTab::Init(ScatterCtrl& scatter) {
	CtrlLayout(*this);
	SizePos();
	
	pscatter = &scatter;
	
	showLegend <<= scatter.GetShowLegend();
	showLegend <<= THISBACK(Change);
	
	legendPosition <<= (scatter.GetLegendAnchor() == ScatterDraw::LEGEND_TOP ? 0 : 1);
	legendPosition <<= THISBACK(Change);
	legendAnchorRT = true;	
	switch(scatter.GetLegendAnchor()) {
	case ScatterDraw::LEGEND_ANCHOR_LEFT_TOP: 		legendAnchorLT = true;	break;
	case ScatterDraw::LEGEND_ANCHOR_RIGHT_TOP: 		legendAnchorRT = true;	break;
	case ScatterDraw::LEGEND_ANCHOR_LEFT_BOTTOM: 	legendAnchorLB = true;	break;
	case ScatterDraw::LEGEND_ANCHOR_RIGHT_BOTTOM: 	legendAnchorRB = true;	break;
	}
	legendAnchorLT <<= THISBACK1(ChangeAnchor, &legendAnchorLT);
	legendAnchorRT <<= THISBACK1(ChangeAnchor, &legendAnchorRT);
	legendAnchorLB <<= THISBACK1(ChangeAnchor, &legendAnchorLB);
	legendAnchorRB <<= THISBACK1(ChangeAnchor, &legendAnchorRB);
	
	fillColor <<= scatter.GetLegendFillColor();
	fillColor <<= THISBACK(Change);
	borderColor <<= scatter.GetLegendBorderColor();
	borderColor <<= THISBACK(Change);
	Point p = scatter.GetLegendPos();	
	tableHoriz <<= p.x;
	tableHoriz <<= THISBACK(Change);
	tableVert <<= p.y;
	tableVert <<= THISBACK(Change);
	numCols <<= scatter.GetLegendNumCols();
	numCols <<= THISBACK(Change);
	
	rowSpacing <<= scatter.GetLegendRowSpacing();
	rowSpacing <<= THISBACK(Change);
	
	Change();
}
Ejemplo n.º 22
0
void DockWindow::ContainerDragMove(DockCont &dc)
{
	HighlightCtrl &hl = GetHighlightCtrl();
	Point p = GetMousePos();
	if (hl.GetParent()) {
		if (!hl.bounds.Contains(p))
			StopHighlight(IsAnimatedHighlight());
		return KillTimeCallback(TIMEID_ANIMATE_DELAY);
	}
	animdelay ?
		KillSetTimeCallback(animdelay, THISBACK1(StartHighlight, &dc), TIMEID_ANIMATE_DELAY) :
		StartHighlight(&dc);
}
Ejemplo n.º 23
0
void DockCont::DockContMenu::ContainerMenu(Bar &bar, DockCont *c, bool withgroups)
{
	DockableCtrl *dc = &c->GetCurrent();
	cont = c;

	// TODO: Need correct group filtering
	withgroups = false;

	// If grouping, find all groups
	DockMenu::WindowMenu(bar, dc);
	if (withgroups && dock->IsGrouping()) {
		Vector<String> groups;
		cont->GetGroups(groups);
		if (groups.GetCount()) {
			bar.Separator();
			Sort(groups);
			for (int i = 0; i < groups.GetCount(); i++)
				bar.Add(groups[i], THISBACK1(GroupWindowsMenu, groups[i]));
			bar.Add(t_("All"), THISBACK1(GroupWindowsMenu, String(Null)));
		}
	}
}
Ejemplo n.º 24
0
void Ide::DoDirDiff()
{
	Index<String> dir;
	Vector<String> d = GetUppDirs();
	for(int i = 0; i < d.GetCount(); i++)
		dir.FindAdd(d[i]);
	FindFile ff(ConfigFile("*.bm"));
	while(ff) {
		VectorMap<String, String> var;
		LoadVarFile(ff.GetPath(), var);
		Vector<String> p = Split(var.Get("UPP", String()), ';');
		for(int i = 0; i < p.GetCount(); i++)
			dir.FindAdd(p[i]);
		ff.Next();
	}
	String n = GetFileFolder(editfile);
	if(n.GetCount())
		dir.FindAdd(n);
	SortIndex(dir);
	
	static DirDiffDlg dlg;
	dlg.diff.WhenLeftLine = THISBACK1(GotoDirDiffLeft, &dlg);
	dlg.diff.WhenRightLine = THISBACK1(GotoDirDiffRight, &dlg);
	for(int i = 0; i < dir.GetCount(); i++) {
		dlg.Dir1AddList(dir[i]);
		dlg.Dir2AddList(dir[i]);
	}
	if(d.GetCount())
		dlg.Dir1(d[0]);
	if(!dlg.IsOpen()) {
		dlg.SetFont(veditorfont);
		dlg.Maximize();
		dlg.Title("Compare directories");
		dlg.OpenMain();
	}
	else
		dlg.SetFocus();
}
Ejemplo n.º 25
0
void WorkspaceWork::RemovePackageMenu(Bar& bar)
{
	if(bar.IsScanKeys() || bar.IsScanHelp() || !bar.IsMenuBar())
		return;
	String active = UnixPath(GetActivePackage());
	int usecnt = 0;
	for(int i = 0; i < package.GetCount(); i++) {
		String pn = UnixPath(package[i].name);
		Package prj;
		String pp = PackagePath(pn);
		prj.Load(pp);
		for(int i = 0; i < prj.uses.GetCount(); i++)
			if(UnixPath(prj.uses[i].text) == active) {
				usecnt++;
				bar.Add("Remove from '" + pn + '\'', THISBACK1(RemovePackage, pn))
					.Help(NFormat("Remove package '%s' from uses section in '%s'", active, pp));
			}
	}
	if(usecnt > 1) {
		bar.MenuSeparator();
		bar.Add("Remove all uses", THISBACK1(RemovePackage, String(Null)))
			.Help(NFormat("Remove package '%s' from all uses in active project and its submodules", active));
	}
}
Ejemplo n.º 26
0
void MapEditor::OnAddLevel()
{
	int row = LevelList.GetRowCount();

	Level level;
	level.SetName(NFormat(t_("Level #%d"), _map.GetLevels().GetCount() + 1));

	level.WhenMapList = THISBACK(OnLevelMapList);
	level.WhenCalculate = THISBACK1(OnLevelMapCalc, row);
	if (level.OpenProperties() != IDOK)
		return;

	_map.GetLevels().Add(level);

	UpdateLevelList();
}
Ejemplo n.º 27
0
void SelectPackageDlg::ToolBase(Bar& bar)
{
	bar.Add("New assembly..", THISBACK(OnBaseAdd))
		.Key(K_INSERT);
	bar.Add(base.IsCursor(), "Edit assembly..", THISBACK(OnBaseEdit))
		.Key(K_CTRL_ENTER);
	bar.Add(base.IsCursor(), "Remove assembly", THISBACK(OnBaseRemove))
		.Key(K_CTRL_DELETE);
	Vector<String> d = GetSvnDirs();
	if(d.GetCount()) {
		bar.Separator();
		for(int i = 0; i < d.GetCount(); i++)
			bar.Add("Synchronize " + d[i], IdeImg::svn_dir(), THISBACK1(SyncSvnDir, d[i]));
		bar.Add("Synchronize everything..", IdeImg::svn(), THISBACK(SyncSvnDirs));
	}
}
Ejemplo n.º 28
0
void MainDlg::OnLanguage(Bar& bar )
{
	const int* languages = GetAllLanguages();
	// We have a tremendous amount of redundancy here... we'll use this as a filter.
	// Note that sometimes, the number changes, but it still comes up as 'English'.
	// This is perhaps because we don't have any translations for the other languages.
	VectorMap< String, int > oldLangs;
	for (int i = 0; languages[i] != 0; i++ )
	{
		String langName = ::GetNativeLangName( languages[ i ] );
		if ( oldLangs.Find( langName ) < 0 )
		{
			bar.Add( langName , THISBACK1( OnChangeLanguage, languages[i] ) );
			oldLangs.Add( langName, languages[i] );
		}
	}
}
Ejemplo n.º 29
0
void AutoHideBar::HideAnimate(Ctrl *c)
{
	ASSERT(ctrl);
	// If the popup has a child popup active then reset timer and keep the popup visible
	Vector<Ctrl *> wins = Ctrl::GetTopCtrls();
	for(int i = 0; i < wins.GetCount(); i++) {
		if (wins[i]->IsPopUp() && wins[i]->GetOwner() == &popup) {
			KillSetTimeCallback(autohide_timeout, THISBACK1(HideAnimate, ctrl), TIMEID_HIDE_TIMEOUT);
			return;
		}
	}
	DockTabBar::KillCursor();	
#ifdef PLATFORM_WIN32
	Rect r = popup.GetRect();
	AdjustSize(r, -r.GetSize());
	Animate(popup, r, GUIEFFECT_SLIDE);
#endif
	popup.Close();
	ctrl->Remove();
	ctrl = NULL;
}
Ejemplo n.º 30
0
void FormView::CreateObjectMenu(Bar& bar, int id)
{
	int selCount = GetSelected().GetCount();

	if (selCount > 1)
		bar.Add(t_("Align selected"), THISBACK(AlignObjectMenu));

	if (selCount != GetObjectCount())
		bar.Add(t_("Invert selection"), THISBACK(InvertSelection));
	
	if ((selCount != GetObjectCount()) || selCount > 1)
		bar.Separator();

	if (selCount == 1)
	{
		bar.Add(t_("Outline"), THISBACK1(ToggleOutlineDraw, id)).Check(IsOutlineDraw(id));
		bar.Separator();
	}

	if (selCount <= 1)
	{
		bar.Add(t_("Top"), THISBACK1(MoveToTopObject, id));
		bar.Add(t_("Up"), THISBACK1(MoveUpObject, id));
		bar.Add(t_("Down"), THISBACK1(MoveDownObject, id));
		bar.Add(t_("Bottom"), THISBACK1(MoveToBottomObject, id));
		bar.Separator();
	}

	bar.Add(t_("Delete"), THISBACK(RemoveSelection));

	if (selCount >= 1)
	{
		bar.Separator();
		bar.Add(t_("Properties"), THISBACK1(OpenObjectProperties, GetSelected()));
	}
}