本文整理汇总了C++中WidgetFactory类的典型用法代码示例。如果您正苦于以下问题:C++ WidgetFactory类的具体用法?C++ WidgetFactory怎么用?C++ WidgetFactory使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了WidgetFactory类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: STLLookupAndRemovePtr
/**
* @brief Signal a USB device has been removed.
*
* This can be called from either the libusb thread or the main thread. However
* only one of those will be active at once, so we can avoid locking.
*/
void AsyncPluginImpl::USBDeviceRemoved(libusb_device *usb_device) {
WidgetFactory *factory = STLLookupAndRemovePtr(
&m_device_factory_map, usb_device);
if (factory) {
factory->DeviceRemoved(&m_widget_observer, usb_device);
}
}
示例2:
Widget * Helper::CreateWidget ( std::string widget )
///////////////////////////////////////////////////////////////////////
{
WidgetFactory widgetFactory;
Widget *pWidget = widgetFactory.Create ( widget );
pWidget->SetName ( widget );
pWidget->SetRenderable ( HostIntegration::Renderer->CreateRenderable ( ) );
return pWidget;
}
示例3: mousePressEvent
void ResizeHandle::mousePressEvent(QMouseEvent *ev)
{
const bool startDragging = !m_dragging;
m_dragging = true;
m_x = ev->x();
m_y = ev->y();
if (startDragging) {
// m_form->resizeHandleDraggingStarted(m_set->widget());
WidgetFactory *wfactory = m_set->m_form->library()->factoryForClassName(m_set->widget()->className());
if (wfactory)
wfactory->resetEditor();
}
}
示例4: CS_ASSERT
//-------------------------------------------------------
//-------------------------------------------------------
void Canvas::OnInit()
{
m_screen = Application::Get()->GetSystem<Screen>();
CS_ASSERT(m_screen != nullptr, "Canvas must have access to screen");
WidgetFactory* widgetFactory = Application::Get()->GetWidgetFactory();
m_canvas = widgetFactory->CreateWidget();
m_canvas->SetName("Canvas");
m_canvas->SetAbsoluteSize(GetSize());
m_canvas->SetCanvas(m_canvas.get());
m_canvas->SetAbsolutePosition(GetSize() * 0.5f);
m_canvas->SetInputEnabled(true);
m_canvas->SetInputConsumeEnabled(false);
}
示例5: initialize
void Dialog::initialize(const WidgetFactory& f)
{
controller.reset(f.controller());
controller->setOwner(this);
controller->setDialogRoot(createDialog(f));
controller->initialize();
}
示例6: createMainMenu
GLMotif::PopupMenu* Viewer::createMainMenu()
{
WidgetFactory factory;
// create the top-level shell
GLMotif::PopupMenu* mainMenuPopup=factory.createPopupMenu("MainPopupMenu", "Viewer Options");
// create button array inside top-level shell
GLMotif::Menu* mainMenu=factory.createMenu("MainMenu");
// add buttons and assign callbacks
// create a cascade button for selecting the dynamical system
GLMotif::CascadeButton* dynamicsTogglesCascade=factory.createCascadeButton("DynamicsTogglesCascade", "Experiments");
dynamicsTogglesCascade->setPopup(createDynamicsTogglesMenu());
// create a cascade button for selecting the dynamical analysis tool
GLMotif::CascadeButton* toolsTogglesCascade=factory.createCascadeButton("ToolTogglesCascade", "Tools");
toolsTogglesCascade->setPopup(createToolsTogglesMenu());
// create a toggle button for showing/hiding the frame rate dialog
GLMotif::ToggleButton* showFrameRateDialog=factory.createToggleButton("ShowFrameRateDialogToggle", "Show Frame Rate Dialog");
showFrameRateDialog->getSelectCallbacks().add(this, &Viewer::mainMenuTogglesCallback);
// create a toggle button for showing/hiding the position dialog
GLMotif::ToggleButton* showPositionDialog=factory.createToggleButton("ShowPositionDialog", "Show Position Dialog");
showPositionDialog->getSelectCallbacks().add(this, &Viewer::mainMenuTogglesCallback);
// create a toggle button for showing/hiding the dynamical parameter interface dialog
showParameterDialogToggle=factory.createToggleButton("ShowParameterDialogToggle", "Show Experiment Options");
showParameterDialogToggle->getSelectCallbacks().add(this, &Viewer::mainMenuTogglesCallback);
// create a toggle for showing/hiding the tool option dialogs
GLMotif::ToggleButton* showOptionsDialogs=factory.createToggleButton("ShowOptionsDialogsToggle", "Show Tool Options");
showOptionsDialogs->getSelectCallbacks().add(this, &Viewer::mainMenuTogglesCallback);
// create a push button for reseting the view
GLMotif::Button* resetNavigationButton=factory.createButton("ResetNavigationButton", "Reset Navigation");
resetNavigationButton->getSelectCallbacks().add(this, &Viewer::resetNavigationCallback);
mainMenu->manageChild();
return mainMenuPopup;
}
示例7: createToolsTogglesMenu
GLMotif::Popup* Viewer::createToolsTogglesMenu()
{
WidgetFactory factory;
// create the top-level shell
GLMotif::Popup* toolsTogglesMenuPopup=factory.createPopupMenu("ToolsTogglesMenuPopup");
// create array of buttons inside top-level shell
GLMotif::RowColumn* toolsTogglesMenu=factory.createMenu("VisualizationTogglesMenu");
// add toggle buttons for various analysis tools
GLMotif::ToggleButton* particleSprayerToggle=factory.createToggleButton("ParticleSprayerToggle", "Particle Sprayer", true);
GLMotif::ToggleButton* dotSpreaderToggle=factory.createToggleButton("DotSpreaderToggle", "Dot Spreader", true);
GLMotif::ToggleButton* staticSolverToggle=factory.createToggleButton("StaticSolverToggle", "Static Solver", true);
GLMotif::ToggleButton* dynamicSolverToggle=factory.createToggleButton("DynamicSolverToggle", "Dynamic Solver", true);
// assign callbacks for each toggle button
particleSprayerToggle->getValueChangedCallbacks().add(this, &Viewer::toolsMenuCallback);
dotSpreaderToggle->getValueChangedCallbacks().add(this, &Viewer::toolsMenuCallback);
staticSolverToggle->getValueChangedCallbacks().add(this, &Viewer::toolsMenuCallback);
dynamicSolverToggle->getValueChangedCallbacks().add(this, &Viewer::toolsMenuCallback);
// add toggle button pointers to vector for radio-button behavior
toolsToggleButtons.push_back(particleSprayerToggle);
toolsToggleButtons.push_back(dotSpreaderToggle);
toolsToggleButtons.push_back(staticSolverToggle);
toolsToggleButtons.push_back(dynamicSolverToggle);
toolsTogglesMenu->manageChild();
return toolsTogglesMenuPopup;
}
示例8: myName
Menu::Menu(const String& name, MenuManager* manager):
myName(name),
myManager(manager),
myActiveSubMenu(NULL),
myParent(NULL)
{
UiModule* ui = UiModule::instance();
WidgetFactory* wf = ui->getWidgetFactory();
myContainer = wf->createContainer("container", ui->getUi(), Container::LayoutVertical);
myContainer->setPosition(Vector2f(10, 10));
myContainer->setStyleValue("fill", "#000000d0");
//myContainer->setLayout(Container::LayoutHorizontal);
my3dSettings.enable3d = MenuManager::instance()->is3dMenuEnabled();
myContainer->setAutosize(true);
myContainer->setHorizontalAlign(Container::AlignLeft);
// By default menus are attached to the default camera.
my3dSettings.node = manager->getEngine()->getDefaultCamera();
firstHide = true;
}
示例9: qDebug
QList<QVariant> WidgetDataBase::defaultPropertyValues(const QString &name)
{
WidgetFactory *factory = qobject_cast<WidgetFactory *>(m_core->widgetFactory());
Q_ASSERT(factory);
// Create non-widgets, widgets in order
QObject* object = factory->createObject(name, 0);
if (!object)
object = factory->createWidget(name, 0);
if (!object) {
qDebug() << "** WARNING Factory failed to create " << name;
return QList<QVariant>();
}
// Get properties from sheet.
QList<QVariant> result;
if (const QDesignerPropertySheetExtension *sheet = qt_extension<QDesignerPropertySheetExtension*>(m_core->extensionManager(), object)) {
const int propertyCount = sheet->count();
for (int i = 0; i < propertyCount; ++i) {
result.append(sheet->property(i));
}
}
delete object;
return result;
}
示例10: createDynamicsTogglesMenu
GLMotif::Popup* Viewer::createDynamicsTogglesMenu()
{
WidgetFactory factory;
// create the top-level shell
GLMotif::Popup* dynamicsTogglesMenuPopup=factory.createPopupMenu("DynamicsTogglesMenuPopup");
// create button array inside top-level shell
GLMotif::RowColumn* dynamicsTogglesMenu=factory.createMenu("DynamicsTogglesMenu");
// for each of the experiment names
for (std::vector<std::string>::const_iterator name=experiment_names.begin(); name!=experiment_names.end(); ++name)
{
size_t iIndex = (*name).rfind("Hidden");
if( iIndex != std::string::npos )
{
// then while loaded, we do not make this experiment available to the user
continue;
}
// create toggle button
std::string toggle_name=(*name) + "toggle";
GLMotif::ToggleButton* toggle=factory.createToggleButton(const_cast<char*> (toggle_name.c_str()), const_cast<char*> ((*name).c_str()));
// turn on the first toggle
//if (name == experiment_names.begin())
// toggle->setToggle(true);
toggle->getValueChangedCallbacks().add(this, &Viewer::dynamicsMenuCallback);
dynamicsToggleButtons.push_back(toggle);
}
dynamicsTogglesMenu->manageChild();
return dynamicsTogglesMenuPopup;
}
示例11: create
Label* Label::create(Container* container)
{
WidgetFactory* wf = UiModule::instance()->getWidgetFactory();
Label* label = wf->createLabel(sLabelNameGenerator.generate(), container);
return label;
}
示例12: createDialog
GLMotif::PopupWindow* DynamicSolverOptionsDialog::createDialog()
{
WidgetFactory factory;
// create the popup-shell
GLMotif::PopupWindow* parameterDialogPopup=factory.createPopupWindow("ParameterDialogPopup", " Dynamic Solver Options");
// create the main layout
GLMotif::RowColumn* parameterDialog=factory.createRowColumn("ParameterDialog", 1);
factory.setLayout(parameterDialog);
// create a layout for check boxes (toggle buttons)
GLMotif::RowColumn* checkBoxLayout=factory.createRowColumn("CheckBoxLayout", 4);
factory.setLayout(checkBoxLayout);
// create line style toggle buttons (check boxes)
factory.createLabel("", "Line Style");
GLMotif::ToggleButton* noneLineToggle=
factory.createCheckBox("NoneLineToggle", "None");
GLMotif::ToggleButton* basicLineToggle=
factory.createCheckBox("BasicLineToggle", "2D");
GLMotif::ToggleButton* polyLineToggle=
factory.createCheckBox("PolyLineToggle", "3D", true);
// assign callbacks for line style toggle buttons
noneLineToggle->getValueChangedCallbacks().add(this, &DynamicSolverOptionsDialog::lineStyleTogglesCallback);
basicLineToggle->getValueChangedCallbacks().add(this, &DynamicSolverOptionsDialog::lineStyleTogglesCallback);
polyLineToggle->getValueChangedCallbacks().add(this, &DynamicSolverOptionsDialog::lineStyleTogglesCallback);
// add line style toggles to array for radio-button behavior
lineStyleToggles.push_back(noneLineToggle);
lineStyleToggles.push_back(basicLineToggle);
lineStyleToggles.push_back(polyLineToggle);
// create head style toggle buttons (check boxes)
factory.createLabel("", "Head Style");
GLMotif::ToggleButton* noneHeadToggle=factory.createCheckBox("NoneHeadToggle", "None");
GLMotif::ToggleButton* pointHeadToggle=factory.createCheckBox("PointHeadToggle", "Point", true);
GLMotif::ToggleButton* sphereHeadToggle=factory.createCheckBox("SphereHeadToggle", "Sphere");
// assign callbacks for head style toggle buttons
noneHeadToggle->getValueChangedCallbacks().add(this, &DynamicSolverOptionsDialog::headStyleTogglesCallback);
pointHeadToggle->getValueChangedCallbacks().add(this, &DynamicSolverOptionsDialog::headStyleTogglesCallback);
sphereHeadToggle->getValueChangedCallbacks().add(this, &DynamicSolverOptionsDialog::headStyleTogglesCallback);
// add head style toggles to array for radio-button behavior
headStyleToggles.push_back(noneHeadToggle);
headStyleToggles.push_back(pointHeadToggle);
headStyleToggles.push_back(sphereHeadToggle);
// create color style toggle buttons (check boxes)
factory.createLabel("", "Color Map");
GLMotif::ToggleButton* solidColorToggle=factory.createCheckBox("SolidColorToggle", "Solid", true);
GLMotif::ToggleButton* gradientColorToggle=factory.createCheckBox("GradientColorToggle", "Gradient");
// assign callbacks for color style toggle buttons
solidColorToggle->getValueChangedCallbacks().add(this, &DynamicSolverOptionsDialog::colorStyleTogglesCallback);
gradientColorToggle->getValueChangedCallbacks().add(this, &DynamicSolverOptionsDialog::colorStyleTogglesCallback);
// add color style toggles to array for radio-button behavior
colorMapToggles.push_back(solidColorToggle);
colorMapToggles.push_back(gradientColorToggle);
// create spacer (newline)
factory.createLabel("Spacer", "");
checkBoxLayout->manageChild();
factory.setLayout(parameterDialog);
// create layout for sliders
GLMotif::RowColumn* sliderLayout=factory.createRowColumn("SliderLayout", 3);
factory.setLayout(sliderLayout);
factory.createLabel("ReleaseSizeLabel", "Number of Particles");
releaseSizeValue=factory.createTextField("ReleaseSizeTextField", 10);
releaseSizeValue->setString("1");
releaseSizeSlider=factory.createSlider("ReleaseSizeSlider", 15.0);
releaseSizeSlider->setValueRange(1, 250, 1);
releaseSizeSlider->setValue(1);
releaseSizeSlider->getValueChangedCallbacks().add(this, &DynamicSolverOptionsDialog::sliderCallback);
factory.createLabel("ParticleSizeLabel", "Particle Size");
pointSizeValue=factory.createTextField("PointSizeTextField", 10);
pointSizeValue->setString("0.25");
pointSizeSlider=factory.createSlider("PointSizeSlider", 15.0);
pointSizeSlider->setValueRange(0.01, 0.25, 0.01);
pointSizeSlider->setValue(0.25);
pointSizeSlider->getValueChangedCallbacks().add(this, &DynamicSolverOptionsDialog::sliderCallback);
// create a push button for clearing particles and assign callback
GLMotif::Button* clearButton=factory.createButton("ClearButton", "Clear");
clearButton->getSelectCallbacks().add(this, &DynamicSolverOptionsDialog::clearPointsCallback);
//.........这里部分代码省略.........
示例13: create
Container* Container::create(Layout layout, Container* container)
{
WidgetFactory* wf = UiModule::instance()->getWidgetFactory();
return wf->createContainer(sContainerNameGenerator.generate(), container, layout);
}
示例14: createDialog
GLMotif::PopupWindow* DotSpreaderOptionsDialog::createDialog()
{
WidgetFactory factory;
// create popup-shell
GLMotif::PopupWindow* parameterDialogPopup=factory.createPopupWindow("ParameterDialogPopup", "Dot Spreader Options");
// create the main layout
GLMotif::RowColumn* parameterDialog=factory.createRowColumn("ParameterDialog", 3);
factory.setLayout(parameterDialog);
factory.createLabel("", "NumberOfParticles");
// create text field
numberOfParticlesValue=factory.createTextField("NumberOfParticlesTextField", 10);
numberOfParticlesValue->setString("10000");
// create and initialize slider object
numberOfParticlesSlider=factory.createSlider("NumberOfParticlesSlider", 15.0);
numberOfParticlesSlider->setValueRange(1000.0, 250000.0, 1000.0);
numberOfParticlesSlider->setValue(10000.0);
// set the slider callback
numberOfParticlesSlider->getValueChangedCallbacks().add(this, &DotSpreaderOptionsDialog::sliderCallback);
factory.createLabel("ParticleSizeLabel", "Particle Size");
pointSizeValue=factory.createTextField("PointSizeTextField", 10);
pointSizeValue->setString("0.05");
pointSizeSlider=factory.createSlider("PointSizeSlider", 15.0);
pointSizeSlider->setValueRange(0.01, 1.0, 0.05);
pointSizeSlider->setValue(0.05);
pointSizeSlider->getValueChangedCallbacks().add(this, &DotSpreaderOptionsDialog::sliderCallback);
// create distribution check boxes
GLMotif::ToggleButton* surfaceDistributionToggle=factory.createCheckBox("SurfaceDistributionToggle", "Surface", true);
GLMotif::ToggleButton* volumeDistributionToggle=factory.createCheckBox("VolumeDistributionToggle", "Volume");
// set callbacks for toggle buttons (check boxes)
surfaceDistributionToggle->getValueChangedCallbacks().add(this, &DotSpreaderOptionsDialog::distributionTogglesCallback);
volumeDistributionToggle->getValueChangedCallbacks().add(this, &DotSpreaderOptionsDialog::distributionTogglesCallback);
// add toggle buttons to array for radio-button behavior
distributionToggles.push_back(surfaceDistributionToggle);
distributionToggles.push_back(volumeDistributionToggle);
// create push buttons
clearParticles = factory.createButton("ClearParticles", "Clear Particles");
// assign callbacks for buttons
clearParticles->getSelectCallbacks().add(this, &DotSpreaderOptionsDialog::buttonCallback);
parameterDialog->manageChild();
return parameterDialogPopup;
}
示例15: dataDirectory
GLMotif::PopupWindow* CartesianGrid3DParameterDialog::createDialog()
{
WidgetFactory factory;
GLMotif::PopupWindow* parameterDialogPopup=factory.createPopupWindow("ParameterDialogPopup", "CartesianGrid3D Parameters");
GLMotif::RowColumn* parameterDialog=factory.createRowColumn("ParameterDialog", 3);
factory.setLayout(parameterDialog);
openFileButton = factory.createButton("OpenFileButton", "Load Data");
openFileStatusA = factory.createLabel("OpenFileStatusA", "");
openFileStatusB = factory.createLabel("OpenFileStatusB", "");
openFileButton->getSelectCallbacks().add(this, &CartesianGrid3DParameterDialog::openFileCallback);
char cwd[512];
getcwd(cwd, 512);
std::string dataDirectory(cwd);
IO::DirectoryPtr dirptr = IO::openDirectory(dataDirectory.c_str());
fileDialog = new GLMotif::FileSelectionDialog(Vrui::getWidgetManager(), "Open file...", dirptr, ".grid");
// Need to modify FileSelectionDialog to accept filterDescriptions. For ex: "Simple Grid (.grid)"
// fileDialog->addFileNameFilters("Numpy Array (.npy)");
fileDialog->getOKCallbacks().add(this, &CartesianGrid3DParameterDialog::fileOpenAction);
fileDialog->getCancelCallbacks().add(this, &CartesianGrid3DParameterDialog::fileCancelAction);
/* factory.createLabel("Dummy3", "");
openFileStatusC = factory.createLabel("OpenFileStatusC", "");
factory.createLabel("Dummy4", "");
*/
factory.createLabel("Dummy3b", "");
shapeLabel = factory.createLabel("ShapeLabel", "");
shapeValue = factory.createLabel("ShapeValue", "");
factory.createLabel("Dummy5", "");
factory.createLabel("Dummy6", "");
factory.createLabel("Dummy7", "");
factory.createLabel("StepSizeLabel", "step size");
stepSizeValue=factory.createTextField("StepSizeValue", 10);
double step_size = IntegrationStepSize::instance()->getSavedValue("CartesianGrid3D");
if (step_size > 0.0) stepSizeValue->setString(toString(step_size).c_str());
else stepSizeValue->setString("0.01");
stepSizeSlider=factory.createSlider("StepSizeSlider", 15.0);
stepSizeSlider->setValueRange(0.0001, 0.05, 0.0001);
if (step_size > 0.0) stepSizeSlider->setValue(step_size);
else stepSizeSlider->setValue(0.01);
stepSizeSlider->getValueChangedCallbacks().add(this, &CartesianGrid3DParameterDialog::sliderCallback);
parameterDialog->manageChild();
return parameterDialogPopup;
}