ultimatepp/uppdev/ForlanoVega/VegaMenus.cpp
cxl 4a1c627474 Adding uppdev....
git-svn-id: svn://ultimatepp.org/upp/trunk@328 f0d560ea-af0d-0410-9eb7-867de7ffcac7
2008-08-15 08:36:24 +00:00

277 lines
6.5 KiB
C++

#include "VegaMain.h"
void VegaMain::VegaMainMenu(Bar& menu)
{
menu.Add("File", THISBACK(File) ).Key(K_CTRL_F);
menu.Add("Extras", THISBACK(Extras) ).Key(K_CTRL_X);
menu.Add("Help", THISBACK(Help) ).Key(K_CTRL_H);
}
void VegaMain::File(Bar& bar)
{
bar.Add("New Tournament", THISBACK(NewTournament)).Key(K_CTRL_N);
bar.Add("Open Tournament", CtrlImg::open(), THISBACK(OpenTournament)).Key(K_CTRL_O);
bar.Add("Save Tournament", CtrlImg::save(), THISBACK(SaveTournament)).Key(K_CTRL_S);
bar.Separator();
bar.Add("Export", THISBACK(Export));
bar.Add("Connect Database", THISBACK(ConnectDatabase));
bar.Separator();
bar.Add("Exit", THISBACK(Exit)).Key(K_CTRL_E);
}
void VegaMain::Export(Bar& bar)
{
bar.Add("All Player", THISBACK1(ShowNumber, 1));
bar.Add("Tournament", THISBACK1(ShowNumber, 2));
bar.Add("Selected Player", THISBACK1(ShowNumber, 3));
}
void VegaMain::ConnectDatabase(Bar& bar)
{
bar.Add("Fide", THISBACK1(ShowNumber, 1));
bar.Add("VegaFSI (Italy)", THISBACK1(ShowNumber, 2));
bar.Add("Fixed Lenght", THISBACK1(ShowNumber, 3));
bar.Add("Vega", THISBACK1(ShowNumber, 4));
}
// from Extra
void VegaMain::FideReport(Bar& bar)
{
bar.Add("Rating Report to FIDE", THISBACK1(ShowNumber, 1));
bar.Add("Rating variation", THISBACK1(ShowNumber, 2));
bar.Add("History card", THISBACK1(ShowNumber, 3));
bar.Add("Find Norm", THISBACK1(ShowNumber, 4));
bar.Add("FIDE norm certificate", THISBACK1(ShowNumber, 5));
bar.Add("Statistics", THISBACK1(ShowNumber, 6));
}
void VegaMain::NationalReport(Bar& bar)
{
bar.Add("FSI", THISBACK1(ShowNumber, 1));
bar.Add("USCF", THISBACK1(ShowNumber, 2));
}
/*
void VegaMain::PlayerList(Bar& bar)
{
bar.Add("sorte by name", THISBACK1(ShowNumber, 1));
bar.Add("sorted by rating", THISBACK1(ShowNumber, 2));
}
*/
void VegaMain::Help(Bar& bar)
{
bar.Add("Content", THISBACK(HelpContent));
bar.Separator();
bar.Add("Registered to ...", THISBACK(HelpRegistered));
bar.Separator();
bar.Add("About", THISBACK(HelpAbout));
}
//not finished...
void VegaMain::NewTournament()
{
PromptOK( "New T NewTournament");
}
void VegaMain::OpenTournament()
{
FileSel fs;
fs.ExecuteOpen();
/* if(filename.IsEmpty() && !editor.IsModified())
Load(fs);
else
(new UWord)->Load(fs);
*/
// else
// statusbar.Temporary("Loading aborted.");
// PromptOK( fs );
}
void VegaMain::SaveTournament()
{
PromptOK( "Save T SaveTournament" );
}
void VegaMain::SortCrossTable()
{
PromptOK( "c T SortCrossTable" );
}
void VegaMain::RankDateGroup()
{
PromptOK( "c T RankDateGroup" );
}
void VegaMain::RankRatedGroup()
{
PromptOK( "c T RankRatedGroup" );
}
void VegaMain::RoundRobinCalendar()
{
PromptOK( "c T RoundRobinCalendar" );
}
void VegaMain::MPScoreSystem()
{
PromptOK( "c T MPScoreSystem" );
}
void VegaMain::BackupVegFile()
{
PromptOK( "c T BackupVegFile" );
}
void VegaMain::SelectLanguage()
{
PromptOK( "c T SelectLanguage" );
}
void VegaMain::DBConversion(Bar& bar)
{
bar.Add("USCF to fixed lenght", THISBACK1(ShowNumber, 1));
}
//end not finished
void VegaMain::DangerousStuff(Bar& bar)
{
bar.Add("Load Round", THISBACK1(ShowNumber, 1));
bar.Add("modify tournament", THISBACK1(ShowNumber, 2));
bar.Add("reset tournament", THISBACK1(ShowNumber, 3));
bar.Add("delete round", THISBACK1(ShowNumber, 4));
bar.Add("reopen registration", THISBACK1(ShowNumber, 5));
}
// from Help
void VegaMain::HelpContent()
{
PromptOK( "c T HelpContent" );
}
void VegaMain::HelpRegistered()
{
PromptOK( "c T HelpRegistered" );
}
void VegaMain::HelpAbout()
{
PromptOK( "c T HelpAbout" );
}
//from extras
void VegaMain::Extras(Bar& bar)
{
bar.Add("Fide Report", THISBACK(FideReport));
bar.Add("National Report", THISBACK(NationalReport));
//bar.Add("Player List", THISBACK(PlayerList));
bar.Add("Sort Cross Table", THISBACK(SortCrossTable));
bar.Add("Rank Rating Group", THISBACK(RankRatedGroup));
bar.Add("Rank Date Group", THISBACK(RankDateGroup));
bar.Add("Round Robin Calendar", THISBACK(RoundRobinCalendar));
bar.Add("Missing Point Score system", THISBACK(MPScoreSystem));
bar.Separator();
bar.Add("Backup *.veg file", THISBACK(BackupVegFile));
bar.Add("Select Language", THISBACK(SelectLanguage));
bar.Add("DB conversion utility", THISBACK(DBConversion));
bar.Separator();
bar.Add("Dangerous Stuff!", THISBACK(DangerousStuff));
}
void VegaMain::ShowNumber(int n)
{
PromptOK(AsString(n));
}
//the last things...
void VegaMain::SetBars()
{
mainmenu.Set(THISBACK(VegaMainMenu));
//add toolbar if you have one
}
void VegaMain::Exit()
{
Close();
}
void VegaMain::SetTabs()
{
tabs.Add(tab1,"Players");
tabs.Add(tab2,"Pairing");
tabs.Add(tab3,"InsertResult");
tabs.Add(tab4,"Position");
}
//we might move some from here
VegaConsoleFrame::VegaConsoleFrame()
{
CtrlLayout(*this, "");
AddFrame(ThinOutsetFrame());
console.AddColumn("Time", "Time", 4);
console.AddColumn("Who", "Who", 2);
console.AddColumn("Action", "Action", 2);
console.AddColumn("Info", "Info", 11);
console.HeaderTab(0).SetInk(SLtRed);
console.HeaderTab(1).SetInk(SLtRed);
console.HeaderTab(2).SetInk(SLtRed);
console.HeaderTab(3).SetInk(SLtRed);
console.Add(AsString(GetSysTime()), "System" , "intilializing", "Ready...");
}
void VegaMain::UpdateInfo(const String& _who, const String& _action, const String& _what)
{
int nTotal = tab1.arr.GetCount();
int nAvail = tab1.GetAvail();
String info = NFormat("Total players: %d - Available: %d ... %s", nTotal, nAvail, _what);
String time = AsString(GetSysTime());
consoleFrame.console.Add(time, _who, _action, info);
consoleFrame.console.ScrollInto(consoleFrame.console.GetCount());
}
String VegaMain::InfoCurrentPlayerAndStatus()
{
// Animate(); //for animated status effects!
int m = tab1.arr.GetCursor();
String player = AsString(tab1.arr.Get( m, "Name"));
String s;
Value v = tab1.arr.Get( m, "Status");
if (IsNull(v))
s = " got a BYE!";
else
s = v? " is AVAILable!" : " is NOT AVAILable!";
return (" and now "+ player + s);
}
void VegaMain::arrCtrlsAction()
{
UpdateInfo("optCtrl", "made", InfoCurrentPlayerAndStatus());
}
void VegaMain::btnAddAction()
{
tab1.AddPlayer();
UpdateInfo("btnAdd", "added", InfoCurrentPlayerAndStatus());
}
void VegaMain::Init()
{
UpdateInfo("Luigi", "logged in", "");
tab1.btnAdd.WhenAction = THISBACK(btnAddAction);
//need for other layout buttons...
tab1.arr.WhenCtrlsAction = THISBACK(arrCtrlsAction);
}