~ubuntu-branches/ubuntu/vivid/mygui/vivid

« back to all changes in this revision

Viewing changes to Tools/SkinEditor/SettingsResourcesControl.cpp

  • Committer: Package Import Robot
  • Author(s): Scott Howard, Bret Curtis, Scott Howard
  • Date: 2014-09-18 17:57:48 UTC
  • mfrom: (1.1.1)
  • Revision ID: package-import@ubuntu.com-20140918175748-dd8va78mvpw1jbes
Tags: 3.2.1-1
[ Bret Curtis ]
* Updated license for majority of files from LGPL to Expat (MIT)

[ Scott Howard ]
* New upstream release
* Updated patch to add build option for system GLEW libraries
* All patches accepted upstream except shared_libraries.patch
* Bumped SONAME due to dropped symbols, updated *.symbols and package
  names
* Updated license of debian/* to Expat with permission of all authors
* Don't install Doxygen autogenerated md5 and map files (thanks
  lintian)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*!
2
 
        @file
3
 
        @author         Albert Semenov
4
 
        @date           09/2010
5
 
*/
6
 
#include "Precompiled.h"
7
 
#include "SettingsResourcesControl.h"
8
 
#include "SettingsManager.h"
9
 
#include "Localise.h"
10
 
 
11
 
namespace tools
12
 
{
13
 
        SettingsResourcesControl::SettingsResourcesControl(MyGUI::Widget* _parent) :
14
 
                wraps::BaseLayout("SettingsResourcesControl.layout", _parent),
15
 
                mResourceAdd(nullptr),
16
 
                mResourceDelete(nullptr),
17
 
                mResources(nullptr),
18
 
                mTextFieldControl(nullptr)
19
 
        {
20
 
                assignWidget(mResourceAdd, "ResourceAdd");
21
 
                assignWidget(mResourceDelete, "ResourceDelete");
22
 
                assignWidget(mResources, "Resources");
23
 
 
24
 
                mTextFieldControl = new TextFieldControl();
25
 
                mTextFieldControl->eventEndDialog = MyGUI::newDelegate(this, &SettingsResourcesControl::notifyEndDialog);
26
 
 
27
 
                mResourceAdd->eventMouseButtonClick += MyGUI::newDelegate(this, &SettingsResourcesControl::notifyClickResourcePathAdd);
28
 
                mResourceDelete->eventMouseButtonClick += MyGUI::newDelegate(this, &SettingsResourcesControl::notifyClickResourcePathDelete);
29
 
        }
30
 
 
31
 
        SettingsResourcesControl::~SettingsResourcesControl()
32
 
        {
33
 
                mResourceAdd->eventMouseButtonClick -= MyGUI::newDelegate(this, &SettingsResourcesControl::notifyClickResourcePathAdd);
34
 
                mResourceDelete->eventMouseButtonClick -= MyGUI::newDelegate(this, &SettingsResourcesControl::notifyClickResourcePathDelete);
35
 
 
36
 
                delete mTextFieldControl;
37
 
                mTextFieldControl = nullptr;
38
 
        }
39
 
 
40
 
        void SettingsResourcesControl::loadSettings()
41
 
        {
42
 
                mResources->removeAllItems();
43
 
                SettingsSector::VectorUString paths = SettingsManager::getInstance().getSector("Settings")->getPropertyValueList("AdditionalResources");
44
 
                for (SettingsSector::VectorUString::const_iterator item = paths.begin(); item != paths.end(); ++ item)
45
 
                        mResources->addItem(*item);
46
 
        }
47
 
 
48
 
        void SettingsResourcesControl::saveSettings()
49
 
        {
50
 
                SettingsSector::VectorUString paths;
51
 
                for (size_t index = 0; index < mResources->getItemCount(); ++ index)
52
 
                        paths.push_back(mResources->getItemNameAt(index));
53
 
                SettingsManager::getInstance().getSector("Settings")->setPropertyValueList("AdditionalResources", paths);
54
 
        }
55
 
 
56
 
        void SettingsResourcesControl::notifyClickResourcePathAdd(MyGUI::Widget* _sender)
57
 
        {
58
 
                mTextFieldControl->setCaption(replaceTags("CaptionAddResource"));
59
 
                mTextFieldControl->setTextField("");
60
 
                mTextFieldControl->doModal();
61
 
        }
62
 
 
63
 
        void SettingsResourcesControl::notifyClickResourcePathDelete(MyGUI::Widget* _sender)
64
 
        {
65
 
                size_t index = mResources->getIndexSelected();
66
 
                if (index != MyGUI::ITEM_NONE)
67
 
                        mResources->removeItemAt(index);
68
 
        }
69
 
 
70
 
        void SettingsResourcesControl::notifyEndDialog(Dialog* _sender, bool _result)
71
 
        {
72
 
                mTextFieldControl->endModal();
73
 
 
74
 
                if (_result)
75
 
                {
76
 
                        if (mTextFieldControl->getTextField() != "")
77
 
                                mResources->addItem(mTextFieldControl->getTextField());
78
 
                }
79
 
        }
80
 
 
81
 
} // namespace tools
 
1
/*!
 
2
        @file
 
3
        @author         Albert Semenov
 
4
        @date           09/2010
 
5
*/
 
6
 
 
7
#include "Precompiled.h"
 
8
#include "SettingsResourcesControl.h"
 
9
#include "SettingsManager.h"
 
10
#include "Localise.h"
 
11
#include "FactoryManager.h"
 
12
 
 
13
namespace tools
 
14
{
 
15
 
 
16
        FACTORY_ITEM_ATTRIBUTE(SettingsResourcesControl)
 
17
 
 
18
        SettingsResourcesControl::SettingsResourcesControl() :
 
19
                mResourceAdd(nullptr),
 
20
                mResourceDelete(nullptr),
 
21
                mResources(nullptr),
 
22
                mTextFieldControl(nullptr)
 
23
        {
 
24
        }
 
25
 
 
26
        SettingsResourcesControl::~SettingsResourcesControl()
 
27
        {
 
28
                mResourceAdd->eventMouseButtonClick -= MyGUI::newDelegate(this, &SettingsResourcesControl::notifyClickAdd);
 
29
                mResourceDelete->eventMouseButtonClick -= MyGUI::newDelegate(this, &SettingsResourcesControl::notifyClickDelete);
 
30
 
 
31
                delete mTextFieldControl;
 
32
                mTextFieldControl = nullptr;
 
33
        }
 
34
 
 
35
        void SettingsResourcesControl::OnInitialise(Control* _parent, MyGUI::Widget* _place, const std::string& _layoutName)
 
36
        {
 
37
                Control::OnInitialise(_parent, _place, _layoutName);
 
38
 
 
39
                assignWidget(mResourceAdd, "ResourceAdd");
 
40
                assignWidget(mResourceDelete, "ResourceDelete");
 
41
                assignWidget(mResources, "Resources");
 
42
 
 
43
                mTextFieldControl = new TextFieldControl();
 
44
                mTextFieldControl->Initialise();
 
45
                mTextFieldControl->eventEndDialog.connect(this, &SettingsResourcesControl::notifyEndDialog);
 
46
 
 
47
                mResourceAdd->eventMouseButtonClick += MyGUI::newDelegate(this, &SettingsResourcesControl::notifyClickAdd);
 
48
                mResourceDelete->eventMouseButtonClick += MyGUI::newDelegate(this, &SettingsResourcesControl::notifyClickDelete);
 
49
        }
 
50
 
 
51
        void SettingsResourcesControl::loadSettings()
 
52
        {
 
53
                mResources->removeAllItems();
 
54
                SettingsManager::VectorString paths = SettingsManager::getInstance().getValueList("Resources/AdditionalResource.List");
 
55
                for (SettingsManager::VectorString::const_iterator item = paths.begin(); item != paths.end(); ++ item)
 
56
                        mResources->addItem(*item);
 
57
        }
 
58
 
 
59
        void SettingsResourcesControl::saveSettings()
 
60
        {
 
61
                SettingsManager::VectorString paths;
 
62
                for (size_t index = 0; index < mResources->getItemCount(); ++ index)
 
63
                        paths.push_back(mResources->getItemNameAt(index));
 
64
                SettingsManager::getInstance().setValueList("Resources/AdditionalResource.List", paths);
 
65
        }
 
66
 
 
67
        void SettingsResourcesControl::notifyClickAdd(MyGUI::Widget* _sender)
 
68
        {
 
69
                mResources->addItem("");
 
70
                mResources->beginToItemAt(mResources->getItemCount() - 1);
 
71
 
 
72
                mTextFieldControl->setCaption(replaceTags("CaptionAddResource"));
 
73
                mTextFieldControl->setTextField("");
 
74
 
 
75
                MyGUI::Widget* widget = mResources->getWidgetByIndex(mResources->getItemCount() - 1);
 
76
                if (widget != nullptr)
 
77
                        mTextFieldControl->setCoord(MyGUI::IntCoord(widget->getAbsoluteLeft(), widget->getAbsoluteTop(), widget->getWidth(), widget->getHeight()));
 
78
 
 
79
                mTextFieldControl->doModal();
 
80
        }
 
81
 
 
82
        void SettingsResourcesControl::notifyClickDelete(MyGUI::Widget* _sender)
 
83
        {
 
84
                size_t index = mResources->getIndexSelected();
 
85
                if (index != MyGUI::ITEM_NONE)
 
86
                        mResources->removeItemAt(index);
 
87
        }
 
88
 
 
89
        void SettingsResourcesControl::notifyEndDialog(Dialog* _sender, bool _result)
 
90
        {
 
91
                mTextFieldControl->endModal();
 
92
 
 
93
                if (_result)
 
94
                {
 
95
                        if (mTextFieldControl->getTextField() != "")
 
96
                        {
 
97
                                mResources->setItemNameAt(mResources->getItemCount() - 1, mTextFieldControl->getTextField());
 
98
                                return;
 
99
                        }
 
100
                }
 
101
 
 
102
                mResources->removeItemAt(mResources->getItemCount() - 1);
 
103
        }
 
104
 
 
105
        void SettingsResourcesControl::OnCommand(const std::string& _command)
 
106
        {
 
107
                Control::OnCommand(_command);
 
108
 
 
109
                if (_command == "Command_LoadSettings")
 
110
                        loadSettings();
 
111
                else if (_command == "Command_SaveSettings")
 
112
                        saveSettings();
 
113
        }
 
114
 
 
115
}