1 // File: XGUI_Preferences.cpp
2 // Created: 07 Aug 2014
3 // Author: Vitaly SMETANNIKOV
5 #include "XGUI_Preferences.h"
6 #include "XGUI_Constants.h"
8 #include <SUIT_ResourceMgr.h>
9 #include <SUIT_PreferenceMgr.h>
12 #include <QApplication>
13 #include <QDialogButtonBox>
15 SUIT_ResourceMgr* XGUI_Preferences::myResourceMgr = 0;
18 SUIT_ResourceMgr* XGUI_Preferences::resourceMgr()
21 myResourceMgr = new SUIT_ResourceMgr("NewGeom");
22 myResourceMgr->setCurrentFormat("xml");
27 void XGUI_Preferences::editPreferences()
29 XGUI_PreferencesDlg aDlg(resourceMgr(), QApplication::activeWindow());
35 //**********************************************************
36 //**********************************************************
37 //**********************************************************
38 XGUI_PreferencesDlg::XGUI_PreferencesDlg(SUIT_ResourceMgr* theResurces, QWidget* theParent)
41 setWindowTitle( tr("Edit preferences") );
43 QVBoxLayout* main = new QVBoxLayout(this);
45 main->setSpacing( 5 );
47 myPreferences = new SUIT_PreferenceMgr(theResurces, this);
48 main->addWidget( myPreferences );
50 setFocusProxy( myPreferences );
51 myPreferences->setFrameStyle( QFrame::Box | QFrame::Sunken );
52 //myPreferences->show();
54 QDialogButtonBox* aBtnBox = new QDialogButtonBox(
55 QDialogButtonBox::Ok | QDialogButtonBox::Cancel, Qt::Horizontal, this);
56 main->addWidget(aBtnBox);
57 connect(aBtnBox, SIGNAL(accepted()), this, SLOT(accept()));
58 connect(aBtnBox, SIGNAL(rejected()), this, SLOT(reject()));
60 myPreferences->retrieve();
64 XGUI_PreferencesDlg::~XGUI_PreferencesDlg()
68 void XGUI_PreferencesDlg::createEditors()
70 int aLFpage = myPreferences->addItem("Look&Feel");
71 myPreferences->setItemIcon(aLFpage, QIcon(":pictures/view_prefs.png"));
73 int viewTab = myPreferences->addItem( tr("Viewer"), aLFpage );
76 gradList << tr("Horizontal gradient") << tr("Vertical gradient") <<
77 tr("First diagonal gradient") << tr("Second diagonal gradient") <<
78 tr("First corner gradient") << tr("Second corner gradient") <<
79 tr("Third corner gradient") << tr("Fourth corner gradient");
81 QList<QVariant> anIndicesList;
83 idList << XGUI::HorizontalGradient << XGUI::VerticalGradient <<
84 XGUI::Diagonal1Gradient << XGUI::Diagonal2Gradient <<
85 XGUI::Corner1Gradient << XGUI::Corner2Gradient <<
86 XGUI::Corner3Gradient << XGUI::Corner4Gradient;
88 foreach(int gid, idList ) anIndicesList << gid;
90 int bgGroup = myPreferences->addItem( tr( "Background" ), viewTab );
93 //txtList << Qtx::CenterTexture << Qtx::TileTexture << Qtx::StretchTexture;
95 QString aImgFiles("Image files (*.bmp *.gif *.pix *.xwd *.rgb *.rs)");
97 int bgId = myPreferences->addItem( tr("Viewer 3d" ), bgGroup,
98 SUIT_PreferenceMgr::Background, "Viewer", "background" );
99 myPreferences->setItemProperty( "gradient_names", gradList, bgId );
100 //myPreferences->setItemProperty( "gradient_ids", anIndicesList, bgId );
101 myPreferences->setItemProperty( "texture_enabled", true, bgId );
102 myPreferences->setItemProperty( "texture_center_enabled", true, bgId );
103 myPreferences->setItemProperty( "texture_tile_enabled", true, bgId );
104 myPreferences->setItemProperty( "texture_stretch_enabled", true, bgId );
105 myPreferences->setItemProperty( "custom_enabled", false, bgId );
106 myPreferences->setItemProperty( "image_formats", aImgFiles, bgId );