48#include <OpenFlipper/widgets/viewModeWidget/viewModeWidget.hh>
49#include <OpenFlipper/widgets/viewModeWidget/viewModeChangeWidget.hh>
66 bool seenCustom =
false;
77 QAction* acViewMode =
new QAction(
viewModes_[i]->name,
this);
78 acViewMode->setStatusTip(tr(
"Change ViewMode"));
101 for (
int i = 0 ; i <
viewModes_.size(); i++) {
114 vm->
icon =
"Unknown.png";
116 vm->
visibleToolbars = QString(
"Main Toolbar;Viewer Toolbar").split(
";");
149 for (
int i = 0 ; i <
viewModes_.size(); i++) {
162 vm->
icon =
"Unknown.png";
187 if ( ! _usedToolbars.contains(
"Viewer Toolbar") )
191 if ( ! _usedToolbars.contains(
"Main Toolbar") )
206 for (
int i = 0 ; i <
viewModes_.size(); i++) {
218 vm->
icon =
"Unknown.png";
220 vm->
visibleToolbars = QString(
"Main Toolbar;Viewer Toolbar").split(
";");
255 for (
int i = 0 ; i <
viewModes_.size(); i++) {
267 vm->
icon = _iconName;
289 vm->
icon = _iconName;
319 slotChangeView(_mode, QStringList(), QStringList(), QStringList(), _expandAll);
334 widget->setWindowIcon( OpenFlipper::Options::OpenFlipperIcon() );
335 connect(widget, SIGNAL(changeView(QString, QStringList, QStringList, QStringList)),
this, SLOT(
slotChangeView(QString, QStringList, QStringList, QStringList)) );
336 connect(widget, SIGNAL(saveMode(QString,
bool, QStringList, QStringList, QStringList)),
this, SLOT(
slotAddViewModeComplete(QString,
bool, QStringList, QStringList, QStringList)) );
337 connect(widget, SIGNAL(removeMode(QString)),
this, SLOT(
slotRemoveViewMode(QString)) );
339 widget->
show( OpenFlipper::Options::currentViewMode() );
352 QStringList filteredToolboxes =
viewModes_[0]->visibleToolboxes.filter(searchBarText, Qt::CaseInsensitive);
357 for (
int i=0; i < filteredToolboxes.size(); i++)
359 for (uint p=0; p <
plugins().size(); p++)
361 for ( uint j = 0 ; j <
plugins()[p].toolboxWidgets.size(); ++j )
362 if (filteredToolboxes[i] ==
plugins()[p].toolboxWidgets[j].first )
382void CoreWidget::slotChangeView(QString _mode, QStringList _toolboxWidgets, QStringList _toolbars, QStringList _contextmenus,
bool _expandAll ){
385 if (_mode !=
"" && _toolboxWidgets.size() == 0 && _toolbars.size() == 0)
388 _toolboxWidgets =
viewModes_[i]->visibleToolboxes;
390 _contextmenus =
viewModes_[i]->visibleContextMenus;
395 if (_mode != OpenFlipper::Options::currentViewMode()) {
401 for (
int i=0; i < _toolboxWidgets.size(); i++) {
402 for (uint p=0; p <
plugins().size(); p++){
403 for ( uint j = 0 ; j <
plugins()[p].toolboxWidgets.size(); ++j )
404 if (_toolboxWidgets[i] ==
plugins()[p].toolboxWidgets[j].first ) {
419 if (i < toolBox_->lastPos_) {
426 if (
plugins()[p].name ==
"Scripting") {
428 QFile statesFile(OpenFlipper::Options::configDirStr() + OpenFlipper::Options::dirSeparator() +
"WindowStates.dat");
430 if (statesFile.exists() ) {
431 QSettings windowStates(OpenFlipper::Options::configDirStr() + OpenFlipper::Options::dirSeparator() +
"WindowStates.dat", QSettings::IniFormat);
434 windowStates.beginGroup (
"Core");
435 windowStates.beginGroup(
"SideArea");
436 windowStates.beginGroup(_toolboxWidgets[i]);
437 bool active = windowStates.value (
"Active",
false).toBool();
438 windowStates.endGroup();
439 windowStates.endGroup();
440 windowStates.endGroup();
450 if (_mode != OpenFlipper::Options::currentViewMode()) {
460 for (uint p=0; p <
plugins().size(); p++)
461 for ( uint j = 0 ; j <
plugins()[p].toolbars.size(); ++j )
462 if (_toolbars.contains(
plugins()[p].toolbars[j].first ) )
463 plugins()[p].toolbars[j].second->show();
465 plugins()[p].toolbars[j].second->hide();
469 if ( _toolbars.contains(tr(
"Main Toolbar")) )
475 if ( _toolbars.contains(tr(
"Viewer Toolbar")) )
483 OpenFlipper::Options::currentViewMode(_mode);
500 if(!OpenFlipper::Options::glStereo()) {
503 stereoSettingsWidget_->stereoOpengl->setChecked(OpenFlipper::Options::stereoMode() == OpenFlipper::Options::OpenGL);
507 stereoSettingsWidget_->stereoAnaglyph->setChecked(OpenFlipper::Options::stereoMode() == OpenFlipper::Options::AnaglyphRedCyan);
508 stereoSettingsWidget_->stereoCustomAnaglyph->setChecked(OpenFlipper::Options::stereoMode() == OpenFlipper::Options::AnaglyphCustom);
524 OpenFlipper::Options::stereoMode(OpenFlipper::Options::AnaglyphCustom);
528 OpenFlipper::Options::stereoMode(OpenFlipper::Options::AnaglyphRedCyan);
531 OpenFlipper::Options::stereoMode(OpenFlipper::Options::OpenGL);
540 for (
unsigned int i = 0 ; i < OpenFlipper::Options::examinerWidgets() ; ++i) {
DLLEXPORT OpenFlipperQSettings & OpenFlipperSettings()
QSettings object containing all program settings of OpenFlipper.
void setValue(const QString &key, const QVariant &value)
Wrapper function which makes it possible to enable Debugging output with -DOPENFLIPPER_SETTINGS_DEBUG...
void moveItemToPosition(const QString &_name, int _position)
Move a toolbox widget to a given position.
int getNumberOfWidgets() const
Get number of widgets.
const QList< const QObject * > & plugins()
Get plugins in side area.
const QStringList & names()
Get item names.
void restoreViewModeState(const QString &_viewMode)
restores the active state of _viewMode
void addItem(QObject const *const _plugin, QWidget *_w, QString _name, QIcon *_icon=0, QWidget *_headerAreaWidget=0)
void setElementActive(const QString &_name, bool _active)
set the active state of given element
void clear()
clears the whole tool widget area
void saveViewModeState(const QString &_viewMode)
saves the active state of _viewMode
ViewMode struct This struct contains a ViewMode and its status information such as used widgets,...
bool custom
Is this a user defined custom view mode or a plugin generated one.
QString name
Name of the View Mode.
QStringList visibleToolboxes
List of Visible Toolboxes in this view mode.
QStringList visibleContextMenus
List of context Menus in this view mode.
QStringList visibleToolbars
List of Toolbars in this view mode.