Changes in / [4bddb9ca:03e04a4] in sasview


Ignore:
Location:
src/sas/qtgui
Files:
3 added
6 edited

Legend:

Unmodified
Added
Removed
  • src/sas/qtgui/MainWindow/GuiManager.py

    r8e2cd79 r060413c  
    2727from sas.qtgui.MainWindow.AboutBox import AboutBox 
    2828from sas.qtgui.MainWindow.WelcomePanel import WelcomePanel 
     29from sas.qtgui.MainWindow.CategoryManager import CategoryManager 
    2930 
    3031from sas.qtgui.MainWindow.DataManager import DataManager 
     
    134135        self.ackWidget = Acknowledgements() 
    135136        self.aboutWidget = AboutBox() 
     137        self.categoryManagerWidget = CategoryManager(self._parent, manager=self) 
    136138        self.welcomePanel = WelcomePanel() 
    137139        self.grid_window = None 
     
    419421        self._workspace.actionHide_Toolbar.triggered.connect(self.actionHide_Toolbar) 
    420422        self._workspace.actionStartup_Settings.triggered.connect(self.actionStartup_Settings) 
    421         self._workspace.actionCategry_Manager.triggered.connect(self.actionCategry_Manager) 
     423        self._workspace.actionCategory_Manager.triggered.connect(self.actionCategory_Manager) 
    422424        # Tools 
    423425        self._workspace.actionData_Operation.triggered.connect(self.actionData_Operation) 
     
    611613        pass 
    612614 
    613     def actionCategry_Manager(self): 
    614         """ 
    615         """ 
    616         print("actionCategry_Manager TRIGGERED") 
    617         pass 
     615    def actionCategory_Manager(self): 
     616        """ 
     617        """ 
     618        self.categoryManagerWidget.show() 
    618619 
    619620    #============ TOOLS ================= 
  • src/sas/qtgui/MainWindow/MainWindow.py

    re4335ae r3d18691  
    2727        except Exception as ex: 
    2828            import logging 
    29             logging.error("Application failed with: " + str(ex)) 
    30             print("Application failed with: ", ex) 
     29            logging.error("Application failed with: "+str(ex)) 
     30            print("Application failed with: ", str(ex)) 
    3131 
    3232    def closeEvent(self, event): 
  • src/sas/qtgui/MainWindow/UI/MainWindowUI.ui

    r2b39fea r3d18691  
    7575    <addaction name="actionStartup_Settings"/> 
    7676    <addaction name="separator"/> 
    77     <addaction name="actionCategry_Manager"/> 
     77    <addaction name="actionCategory_Manager"/> 
    7878   </widget> 
    7979   <widget class="QMenu" name="menuTool"> 
     
    324324   </property> 
    325325  </action> 
    326   <action name="actionCategry_Manager"> 
     326  <action name="actionCategory_Manager"> 
    327327   <property name="text"> 
    328328    <string>Category Manager</string> 
  • src/sas/qtgui/Perspectives/Fitting/FittingWidget.py

    r97df8a9 r060413c  
    373373        self.cbCategory.addItem(CATEGORY_DEFAULT) 
    374374        self.cbCategory.addItems(category_list) 
    375         self.cbCategory.addItem(CATEGORY_STRUCTURE) 
     375        if CATEGORY_STRUCTURE not in category_list: 
     376            self.cbCategory.addItem(CATEGORY_STRUCTURE) 
    376377        self.cbCategory.setCurrentIndex(0) 
    377378 
     
    523524        self.communicate.copyFitParamsSignal.connect(self.onParameterCopy) 
    524525        self.communicate.pasteFitParamsSignal.connect(self.onParameterPaste) 
     526 
     527        # Communicator signal 
     528        self.communicate.updateModelCategoriesSignal.connect(self.onCategoriesChanged) 
    525529 
    526530    def modelName(self): 
     
    19311935            # custom kernel load requires full path 
    19321936            name = os.path.join(ModelUtilities.find_plugins_dir(), model_name+".py") 
    1933         kernel_module = generate.load_kernel_module(name) 
     1937        try: 
     1938            kernel_module = generate.load_kernel_module(name) 
     1939        except ModuleNotFoundError: 
     1940            # maybe it's a recategorised custom model? 
     1941            name = os.path.join(ModelUtilities.find_plugins_dir(), model_name+".py") 
     1942            # If this rises, it's a valid problem. 
     1943            kernel_module = generate.load_kernel_module(name) 
    19341944 
    19351945        if hasattr(kernel_module, 'parameters'): 
     
    22482258        self.createNewIndex(residuals_plot) 
    22492259 
     2260    def onCategoriesChanged(self): 
     2261            """ 
     2262            Reload the category/model comboboxes 
     2263            """ 
     2264            # Store the current combo indices 
     2265            current_cat = self.cbCategory.currentText() 
     2266            current_model = self.cbModel.currentText() 
     2267 
     2268            # reread the category file and repopulate the combo 
     2269            self.cbCategory.blockSignals(True) 
     2270            self.cbCategory.clear() 
     2271            self.readCategoryInfo() 
     2272            self.initializeCategoryCombo() 
     2273 
     2274            # Scroll back to the original index in Categories 
     2275            new_index = self.cbCategory.findText(current_cat) 
     2276            if new_index != -1: 
     2277                self.cbCategory.setCurrentIndex(new_index) 
     2278            self.cbCategory.blockSignals(False) 
     2279            # ...and in the Models 
     2280            self.cbModel.blockSignals(True) 
     2281            new_index = self.cbModel.findText(current_model) 
     2282            if new_index != -1: 
     2283                self.cbModel.setCurrentIndex(new_index) 
     2284            self.cbModel.blockSignals(False) 
     2285 
     2286            return 
     2287 
    22502288    def calcException(self, etype, value, tb): 
    22512289        """ 
  • src/sas/qtgui/Utilities/GuiUtils.py

    r8e2cd79 r3d18691  
    260260    # Fitting parameter paste from clipboard 
    261261    pasteFitParamsSignal = QtCore.pyqtSignal() 
     262    # Notify about new categories/models from category manager 
     263    updateModelCategoriesSignal = QtCore.pyqtSignal() 
    262264 
    263265def updateModelItemWithPlot(item, update_data, name=""): 
  • src/sas/qtgui/Utilities/PluginDefinition.py

    rc5e0d84 r060413c  
    3030        self.pd_parameter_dict = {} 
    3131 
     32        # Initialize widgets 
     33        self.addWidgets() 
     34 
     35        # Wait for all widgets to finish processing 
     36        QtWidgets.QApplication.processEvents() 
     37 
    3238        # Initialize signals 
    3339        self.addSignals() 
    34  
    35         # Initialize widgets 
    36         self.addWidgets() 
    3740 
    3841    def addTooltip(self): 
     
    160163        # keep in mind that this is called every time the text changes. 
    161164        # mind the performance! 
    162         self.addTooltip() 
    163         self.model['text'] = self.txtFunction.toPlainText().lstrip().rstrip() 
    164         self.modelModified.emit() 
     165        #self.addTooltip() 
     166        new_text = self.txtFunction.toPlainText().lstrip().rstrip() 
     167        if new_text != self.model['text']: 
     168            self.model['text'] = new_text 
     169            self.modelModified.emit() 
    165170 
    166171    def onOverwrite(self): 
Note: See TracChangeset for help on using the changeset viewer.