1 # -*- coding: iso-8859-1 -*-
2 # Copyright (C) 2010 EDF R&D
4 # This library is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU Lesser General Public
6 # License as published by the Free Software Foundation; either
7 # version 2.1 of the License.
9 # This library is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 # Lesser General Public License for more details.
14 # You should have received a copy of the GNU Lesser General Public
15 # License along with this library; if not, write to the Free Software
16 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
22 This file centralizes the definitions and implementations of ui components used
23 in the GUI part of the module.
26 __author__ = "aribes/gboulant"
29 from PyQt4.QtCore import QObject
31 sgPyQt = SalomePyQt.SalomePyQt()
33 from daGuiImpl.enumerate import Enumerate
35 # ==============================================================================
36 # Classes to manage the building of UI components
37 # ==============================================================================
39 UI_ELT_IDS = Enumerate([
41 'NEW_DATASSIMCASE_ID',
45 UI_ELT_IDS.NEW_DATASSIMCASE_ID:"newDatassimCase",
48 class DatassimGuiUiComponentBuilder:
50 The initialisation of this class creates the graphic components involved
51 in the GUI (menu, menu item, toolbar). A ui component builder should be
52 created for each opened study and associated to its context (see usage in OMAGUI.py).
55 self.initUiComponents()
57 def initUiComponents(self):
61 # create top-level menu
62 mid = sgPyQt.createMenu( "DATASSIM", -1, UI_ELT_IDS.DATASSIM_MENU_ID, sgPyQt.defaultMenuGroup() )
64 tid = sgPyQt.createTool( "DATASSIM" )
66 a = sgPyQt.createAction( UI_ELT_IDS.NEW_DATASSIMCASE_ID, "New case", "New case", "Create a new datassim case", "" )
67 sgPyQt.createMenu(a, mid)
68 sgPyQt.createTool(a, tid)
70 class DatassimGuiActionImpl():
72 This class implements the ui actions concerning the management of oma study
75 __dlgNewStudyCase = None
76 __dlgEficasWrapper = None
80 # This dialog is created once so that it can be recycled for each call
82 #self.__dlgNewStudyCase = DlgNewStudyCase()
83 #self.__dlgEficasWrapper = OmaEficasWrapper(parent=SalomePyQt.SalomePyQt().getDesktop())
85 # ==========================================================================
86 # Processing of ui actions
88 def processAction(self,actionId):
90 Main switch function for ui actions processing
92 if ACTIONS_MAP.has_key(actionId):
94 functionName = ACTIONS_MAP[actionId]
95 getattr(self,functionName)()
99 msg = "The requested action is not implemented: " + str(actionId)
102 def newDatassimCase(self):
103 print "newDatassimCase"