本文整理汇总了C++中Workspace::GetWorkspaceMode方法的典型用法代码示例。如果您正苦于以下问题:C++ Workspace::GetWorkspaceMode方法的具体用法?C++ Workspace::GetWorkspaceMode怎么用?C++ Workspace::GetWorkspaceMode使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Workspace
的用法示例。
在下文中一共展示了Workspace::GetWorkspaceMode方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OnAddElementsClick
void MainFrame::OnAddElementsClick(wxCommandEvent& event)
{
Workspace* workspace = static_cast<Workspace*>(m_auiNotebook->GetCurrentPage());
if(workspace) {
if(workspace->GetWorkspaceMode() != Workspace::MODE_INSERT) {
auto elementList = workspace->GetElementList();
wxString statusBarText = "";
bool newElement = false;
switch(event.GetId()) {
case ID_ADDMENU_BUS: {
Bus* newBus = new Bus(wxPoint2DDouble(0, 0),
wxString::Format(_("Bus %d"), workspace->GetElementNumber(ID_BUS)));
workspace->IncrementElementNumber(ID_BUS);
elementList.push_back(newBus);
statusBarText = _("Insert Bus: Click to insert, ESC to cancel.");
newElement = true;
} break;
case ID_ADDMENU_LINE: {
Line* newLine = new Line(wxString::Format(_("Line %d"), workspace->GetElementNumber(ID_LINE)));
elementList.push_back(newLine);
workspace->IncrementElementNumber(ID_LINE);
statusBarText = _("Insert Line: Click on two buses, ESC to cancel.");
newElement = true;
} break;
case ID_ADDMENU_TRANSFORMER: {
Transformer* newTransformer = new Transformer(
wxString::Format(_("Transformer %d"), workspace->GetElementNumber(ID_TRANSFORMER)));
workspace->IncrementElementNumber(ID_TRANSFORMER);
elementList.push_back(newTransformer);
statusBarText = _("Insert Transformer: Click on two buses, ESC to cancel.");
newElement = true;
} break;
case ID_ADDMENU_GENERATOR: {
SyncGenerator* newGenerator = new SyncGenerator(
wxString::Format(_("Generator %d"), workspace->GetElementNumber(ID_SYNCGENERATOR)));
workspace->IncrementElementNumber(ID_SYNCGENERATOR);
elementList.push_back(newGenerator);
statusBarText = _("Insert Generator: Click on a buses, ESC to cancel.");
newElement = true;
} break;
case ID_ADDMENU_LOAD: {
Load* newLoad = new Load(wxString::Format(_("Load %d"), workspace->GetElementNumber(ID_LOAD)));
workspace->IncrementElementNumber(ID_LOAD);
elementList.push_back(newLoad);
statusBarText = _("Insert Load: Click on a buses, ESC to cancel.");
newElement = true;
} break;
case ID_ADDMENU_CAPACITOR: {
Capacitor* newCapacitor =
new Capacitor(wxString::Format(_("Capacitor %d"), workspace->GetElementNumber(ID_CAPACITOR)));
workspace->IncrementElementNumber(ID_CAPACITOR);
elementList.push_back(newCapacitor);
statusBarText = _("Insert Capacitor: Click on a buses, ESC to cancel.");
newElement = true;
} break;
case ID_ADDMENU_INDUCTOR: {
Inductor* newInductor =
new Inductor(wxString::Format(_("Inductor %d"), workspace->GetElementNumber(ID_INDUCTOR)));
workspace->IncrementElementNumber(ID_INDUCTOR);
elementList.push_back(newInductor);
statusBarText = _("Insert Inductor: Click on a buses, ESC to cancel.");
newElement = true;
} break;
case ID_ADDMENU_INDMOTOR: {
IndMotor* newIndMotor = new IndMotor(
wxString::Format(_("Induction motor %d"), workspace->GetElementNumber(ID_INDMOTOR)));
workspace->IncrementElementNumber(ID_INDMOTOR);
elementList.push_back(newIndMotor);
statusBarText = _("Insert Induction Motor: Click on a buses, ESC to cancel.");
newElement = true;
} break;
case ID_ADDMENU_SYNCCOMP: {
SyncMotor* newSyncCondenser = new SyncMotor(
wxString::Format(_("Synchronous condenser %d"), workspace->GetElementNumber(ID_SYNCMOTOR)));
workspace->IncrementElementNumber(ID_SYNCMOTOR);
elementList.push_back(newSyncCondenser);
statusBarText = _("Insert Synchronous Condenser: Click on a buses, ESC to cancel.");
newElement = true;
} break;
}
if(newElement) {
workspace->SetElementList(elementList);
workspace->SetWorkspaceMode(Workspace::MODE_INSERT);
workspace->SetStatusBarText(statusBarText);
workspace->Redraw();
}
}
}
}