~ubuntu-branches/ubuntu/trusty/ginkgocadx/trusty

« back to all changes in this revision

Viewing changes to src/cadxcore/main/gui/import/pasoperfilimportacion.cpp

  • Committer: Package Import Robot
  • Author(s): Dmitry Smirnov
  • Date: 2013-07-21 11:58:53 UTC
  • mfrom: (7.2.1 sid)
  • Revision ID: package-import@ubuntu.com-20130721115853-44e7n1xujqglu78e
Tags: 3.4.0.928.29+dfsg-1
* New upstream release [July 2013]
  + new B-D: "libjsoncpp-dev".
  + new patch "unbundle-libjsoncpp.patch" to avoid building bundled
    "libjsoncpp-dev".
  + new patch "fix-wx.patch" to avoid FTBFS due to missing
    "-lwx_gtk2u_html-2.8".
* Removed unnecessary versioned Build-Depends.
* Removed obsolete lintian override.
* Reference get-orig-source implementation for orig.tar clean-up and
  DFSG-repackaging.
* Upload to unstable.

Show diffs side-by-side

added added

removed removed

Lines of Context:
23
23
#include <main/controllers/controladorextensiones.h>
24
24
#include <api/internationalization/internationalization.h>
25
25
 
26
 
#include <api/ientorno.h>
 
26
#include <api/ientorno.h>
 
27
#include <wx/dcbuffer.h>
 
28
#include <wx/aui/auibar.h>
27
29
 
28
30
namespace GNC {
29
31
        namespace GUI {
30
32
 
31
 
                PasoPefilImportacion::PasoPefilImportacion(wxWindow* pParent,IWizard* pWizard, GNC::GCS::IEntorno* pEntorno):PasoPerfilImportacionBase(pParent),IPasoWizard(pWizard)
32
 
                {
33
 
                        m_pEntorno = pEntorno;
34
 
                        m_pControladorModulo = NULL;
 
33
                class ImportProfileToolBar:public wxAuiToolBar 
 
34
                {
 
35
                public:
 
36
                        ImportProfileToolBar(PasoPefilImportacion* pParent, const wxColor& color = wxColor(255, 255, 255)): wxAuiToolBar(pParent,wxID_ANY, wxDefaultPosition, wxDefaultSize, wxAUI_TB_TEXT),
 
37
                                m_pParent(pParent),
 
38
                                idTool(1)
 
39
                        {
 
40
                                SetToolBitmapSize(wxSize(64,64));
 
41
                                AUI_NAMESPACE wxAuiDefaultToolBarArt* pToolArt= new AUI_NAMESPACE wxAuiDefaultToolBarArt();
 
42
                #if !defined(__WXOSX__) && defined(USE_PATCHED_LIBS)
 
43
                                pToolArt->SetBaseColor(color);
 
44
                #endif
 
45
                                SetBackgroundColour(wxColour(255,255,255));
 
46
                                SetArtProvider(pToolArt);
 
47
                                
 
48
                                this->Connect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(ImportProfileToolBar::OnToolClick),NULL, this );
 
49
                                this->Connect( wxID_ANY, wxEVT_LEFT_DCLICK, wxCommandEventHandler(ImportProfileToolBar::OnToolDClick),NULL, this );
 
50
                        }
 
51
 
 
52
                        ~ImportProfileToolBar()
 
53
                        {
 
54
                                this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler(ImportProfileToolBar::OnToolClick),NULL, this );
 
55
                                this->Disconnect( wxID_ANY, wxEVT_LEFT_DCLICK, wxCommandEventHandler(ImportProfileToolBar::OnToolDClick),NULL, this );
 
56
                        }
 
57
 
 
58
                        void AddTool(const std::string& toolTip, const wxBitmap& icon) 
 
59
                        {
 
60
                                wxAuiToolBar::AddTool(idTool++, wxString::FromUTF8(toolTip.c_str()), icon, wxString::FromUTF8(toolTip.c_str()), wxITEM_CHECK);
 
61
                        }
 
62
 
 
63
                        void SelectTool(int defaultDicomizator)
 
64
                        {
 
65
                                for (int i = 1; i < idTool; ++i) {
 
66
                                        ToggleTool(i, i == defaultDicomizator);
 
67
                                }
 
68
                                if ((defaultDicomizator <1 || defaultDicomizator > idTool) && idTool > 1)
 
69
                                {
 
70
                                        ToggleTool(1,true);
 
71
                                }
 
72
                        }
 
73
 
 
74
                                                
 
75
                        void OnToolClick(wxCommandEvent& event)
 
76
                        {
 
77
                                for (int i = 1; i < idTool; ++i) {
 
78
                                        ToggleTool(i, i == event.GetId());
 
79
                                }
 
80
                                Refresh(true);
 
81
                                event.Skip(false);
 
82
                        }
 
83
 
 
84
                                                
 
85
                        void OnToolDClick(wxCommandEvent& /*event*/)
 
86
                        {
 
87
                                m_pParent->SiguientePaso();
 
88
                        }
 
89
 
 
90
                        int GetIdSelected() 
 
91
                        {
 
92
                                for (int i = 1; i < idTool; ++i) {
 
93
                                        if (wxAuiToolBar::GetToolToggled(i)) {
 
94
                                                return i;
 
95
                                        }
 
96
                                }
 
97
                                return -1;
 
98
                        }
 
99
 
 
100
                        std::string GetNameSelected() 
 
101
                        {
 
102
                                for (int i = 1; i < idTool; ++i) {
 
103
                                        if (wxAuiToolBar::GetToolToggled(i)) {
 
104
                                                return std::string(GetToolLabel(i).ToUTF8());
 
105
                                        }
 
106
                                }
 
107
                                return "";
 
108
                        }
 
109
 
 
110
                        PasoPefilImportacion* m_pParent;
 
111
                        int idTool;
 
112
                };
 
113
 
 
114
                PasoPefilImportacion::PasoPefilImportacion(wxWindow* pParent,IWizard* pWizard):PasoPerfilImportacionBase(pParent),
 
115
                        IPasoWizard(pWizard),
 
116
                        m_pToolBar(new ImportProfileToolBar(this))
 
117
                {
 
118
                        m_pControladorModulo = NULL;
 
119
 
 
120
                        GetSizer()->Add( 0, 0, 1, wxEXPAND, 5 );
 
121
                        GetSizer()->Add(m_pToolBar, 0, wxALIGN_CENTER_HORIZONTAL);
 
122
                        GetSizer()->Add( 0, 0, 1, wxEXPAND, 5 );
 
123
                        
35
124
 
36
125
                        GNC::ControladorExtensiones::ListaModulos listaModulos = ControladorExtensiones::Instance()->Modulos();
37
126
                        for(GNC::ControladorExtensiones::IteradorListaModulos it=listaModulos.begin();it!=listaModulos.end();++it){
38
127
                                GNC::GCS::IModuleController* modulo = (*it).second;
39
 
                                if(modulo->SoportaImportacion()){
40
 
                                        m_pListaModulos->Append(wxString::FromUTF8(modulo->GetImporterDescription().c_str()));
 
128
                                if(modulo->SoportaImportacion()) {
 
129
                                        m_pToolBar->AddTool(modulo->GetImporterDescription(), modulo->GetImporterIcon());
41
130
                                }
42
131
                        }
43
 
                        m_pListaModulos->Select(0);
44
132
 
45
133
                        {
46
134
                                int defaultDicomizator;
47
135
                                GNC::GCS::ConfigurationController::Instance()->readIntUser("/GinkgoCore/Importacion", "DefaultDicomizator", defaultDicomizator);                                
48
 
                                if (defaultDicomizator < (int)m_pListaModulos->GetCount()) {
49
 
                                        m_pListaModulos->Select(defaultDicomizator);
50
 
                                }
 
136
                                m_pToolBar->SelectTool(defaultDicomizator);
51
137
                        }
 
138
 
 
139
                        m_pToolBar->Realize();
 
140
                        Layout();
52
141
                }
53
142
 
54
143
                PasoPefilImportacion::~PasoPefilImportacion()
55
144
                {
56
 
                        m_pEntorno = NULL;
57
145
                        m_pControladorModulo = NULL;
58
146
                }
59
147
 
80
168
                }
81
169
 
82
170
                bool PasoPefilImportacion::Validar(){
83
 
                        if(m_pListaModulos->GetSelection()<0){
 
171
 
 
172
                        if(m_pToolBar->GetIdSelected()<=0){
84
173
                                wxMessageBox(_("You must select the import profile"), _("Info"),
85
174
                                         wxOK | wxICON_INFORMATION, this);
86
175
                                return false;
87
176
                        }
88
177
 
89
 
                        std::string nombreModulo(m_pListaModulos->GetStringSelection().ToUTF8());
 
178
                        std::string nombreModulo(m_pToolBar->GetNameSelected());
90
179
 
91
180
                        GNC::ControladorExtensiones::ListaModulos listaModulos = ControladorExtensiones::Instance()->Modulos();
92
181
                        for(GNC::ControladorExtensiones::IteradorListaModulos it=listaModulos.begin();it!=listaModulos.end();++it){
94
183
                                if(modulo->GetImporterDescription() == nombreModulo){
95
184
                                        m_pControladorModulo = modulo;
96
185
 
97
 
                                        GNC::GCS::ConfigurationController::Instance()->writeIntUser("/GinkgoCore/Importacion", "DefaultDicomizator", m_pListaModulos->GetSelection());                          
 
186
                                        GNC::GCS::ConfigurationController::Instance()->writeIntUser("/GinkgoCore/Importacion", "DefaultDicomizator", m_pToolBar->GetIdSelected());                              
98
187
                                        return true;
99
188
                                }
100
189
                        }