Changeset 11152:d1c5b636ecf1 in orange


Ignore:
Timestamp:
10/24/12 15:59:53 (18 months ago)
Author:
Ales Erjavec <ales.erjavec@…>
Branch:
default
Message:

Using new SchemeEditWidget in the CanvasMainWindow widget.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • Orange/OrangeCanvas/application/canvasmain.py

    r11147 r11152  
    1414    QMainWindow, QWidget, QAction, QActionGroup, QMenu, QMenuBar, QDialog, 
    1515    QFileDialog, QMessageBox, QVBoxLayout, QSizePolicy, QColor, QKeySequence, 
    16     QIcon, QToolBar, QDockWidget, QDesktopServices 
     16    QIcon, QToolBar, QDockWidget, QDesktopServices, QUndoGroup 
    1717) 
    1818 
     
    3030from .aboutdialog import AboutDialog 
    3131from .schemeinfo import SchemeInfoDialog 
    32 from .schemedocument import SchemeDocumentWidget 
     32from ..document.schemeedit import SchemeEditWidget 
    3333 
    3434from ..scheme import widgetsscheme 
     
    3737from ..preview import previewdialog, previewmodel 
    3838 
    39 from ..resources import icon_loader 
    40  
    4139from .. import config 
    42  
    43 from Orange import OrangeCanvas 
    4440 
    4541log = logging.getLogger(__name__) 
     
    6662    """ 
    6763    return QIcon(pkg_resources.resource_filename( 
    68                   OrangeCanvas.__name__, 
     64                  config.__name__, 
    6965                  os.path.join("icons", name)) 
    7066                 ) 
     
    225221        w.layout().setContentsMargins(20, 0, 10, 0) 
    226222 
    227         self.scheme_widget = SchemeDocumentWidget(w) 
    228         self.scheme_widget.set_scheme(widgetsscheme.WidgetsScheme()) 
     223        self.scheme_widget = SchemeEditWidget() 
     224        self.scheme_widget.setScheme(widgetsscheme.WidgetsScheme()) 
     225 
     226        self.undo_group.addStack(self.scheme_widget.undoStack()) 
     227        self.undo_group.setActiveStack(self.scheme_widget.undoStack()) 
     228 
    229229        w.layout().addWidget(self.scheme_widget) 
    230230 
     
    237237 
    238238        # Main window title and title icon. 
    239         self.setWindowTitle(self.scheme_widget.scheme.title) 
    240         self.scheme_widget.title_changed.connect(self.setWindowTitle) 
     239        self.setWindowTitle(self.scheme_widget.scheme().title) 
     240        self.scheme_widget.titleChanged.connect(self.setWindowTitle) 
    241241 
    242242        self.setWindowIcon(canvas_icons("Get Started.svg")) 
     
    484484                    ) 
    485485 
    486 #        self.undo_group = QUndoGroup(self) 
    487 #        self.undo_action = self.undo_group.createUndoAction(self) 
    488 #        self.redo_action = self.undo_group.createRedoAction(self) 
     486        self.undo_group = QUndoGroup(self) 
     487        self.undo_action = self.undo_group.createUndoAction(self) 
     488        self.undo_action.setShortcut(QKeySequence.Undo) 
     489        self.redo_action = self.undo_group.createRedoAction(self) 
     490        self.redo_action.setShortcut(QKeySequence.Redo) 
    489491 
    490492        self.select_all_action = \ 
     
    640642 
    641643        # Edit menu 
    642 #        self.edit_menu = QMenu("&Edit", menu_bar) 
    643 #        self.edit_menu.addAction(self.undo_action) 
    644 #        self.edit_menu.addAction(self.redo_action) 
    645 #        self.edit_menu.addSeparator() 
    646 #        self.edit_menu.addAction(self.select_all_action) 
    647 #        menu_bar.addMenu(self.edit_menu) 
     644        self.edit_menu = QMenu("&Edit", menu_bar) 
     645        self.edit_menu.addAction(self.undo_action) 
     646        self.edit_menu.addAction(self.redo_action) 
     647        self.edit_menu.addSeparator() 
     648        self.edit_menu.addAction(self.select_all_action) 
     649        menu_bar.addMenu(self.edit_menu) 
    648650 
    649651        # View menu 
     
    714716        self.quick_category.setModel(widget_registry.model()) 
    715717 
    716         self.scheme_widget.set_registry(widget_registry) 
     718        self.scheme_widget.setRegistry(widget_registry) 
    717719 
    718720    def set_quick_help_text(self, text): 
     
    729731            scheme_widget = self.current_document() 
    730732            if scheme_widget: 
    731                 scheme_widget.create_new_node(widget_desc) 
     733                scheme_widget.createNewNode(widget_desc) 
    732734 
    733735    def on_tool_box_widget_hovered(self, action): 
     
    810812        """ 
    811813        document = self.current_document() 
    812         if document.is_modified(): 
     814        if document.isModified(): 
    813815            # Ask for save changes 
    814816            if self.ask_save_changes() == QDialog.Rejected: 
     
    817819        new_scheme = widgetsscheme.WidgetsScheme() 
    818820        scheme_doc_widget = self.current_document() 
    819         scheme_doc_widget.set_scheme(new_scheme) 
     821        scheme_doc_widget.setScheme(new_scheme) 
    820822 
    821823        if config.rc.get("mainwindow.show-properties-on-new-scheme", True): 
     
    830832        """ 
    831833        document = self.current_document() 
    832         if document.is_modified(): 
     834        if document.isModified(): 
    833835            if self.ask_save_changes() == QDialog.Rejected: 
    834836                return QDialog.Rejected 
     
    879881 
    880882        scheme_doc_widget = self.current_document() 
    881         scheme_doc_widget.set_scheme(new_scheme) 
     883        scheme_doc_widget.setScheme(new_scheme) 
    882884 
    883885        self.add_recent_scheme(new_scheme) 
     
    889891        """ 
    890892        document = self.current_document() 
    891         if document.is_modified(): 
     893        if document.isModified(): 
    892894            if self.ask_save_changes() == QDialog.Rejected: 
    893895                return QDialog.Rejected 
     
    911913        selected = message_question( 
    912914            self.tr("Do you want to save the changes you made to scheme %r?") \ 
    913                     % document.scheme.title, 
     915                    % document.scheme().title, 
    914916            self.tr("Save Changes?"), 
    915917            self.tr("If you do not save your changes will be lost"), 
     
    933935 
    934936        """ 
    935         curr_scheme = self.current_document().scheme 
     937        document = self.current_document() 
     938        curr_scheme = document.scheme() 
     939 
    936940        if curr_scheme.path: 
    937941            curr_scheme.save_to(open(curr_scheme.path, "wb")) 
     942            document.setModified(False) 
    938943            return QDialog.Accepted 
    939944        else: 
     
    946951 
    947952        """ 
    948         curr_scheme = self.current_document().scheme 
     953        curr_scheme = self.current_document().scheme() 
    949954 
    950955        if curr_scheme.path: 
     
    10291034        if status == QDialog.Accepted: 
    10301035            doc = self.current_document() 
    1031             if doc.is_modified(): 
     1036            if doc.isModified(): 
    10321037                if self.ask_save_changes() == QDialog.Rejected: 
    10331038                    return QDialog.Rejected 
     
    11011106 
    11021107        current_doc = self.current_document() 
    1103         scheme = current_doc.scheme 
     1108        scheme = current_doc.scheme() 
    11041109        dialog.setScheme(scheme) 
    11051110        dialog.exec_() 
     
    11081113        doc = self.current_document() 
    11091114        if zoom: 
    1110             doc.view.scale(1.5, 1.5) 
     1115            doc.view().scale(1.5, 1.5) 
    11111116        else: 
    1112             doc.view.resetTransform() 
     1117            doc.view().resetTransform() 
    11131118 
    11141119    def align_to_grid(self): 
    11151120        "Align widgets on the canvas to an grid." 
    1116         self.current_document().align_to_grid() 
     1121        self.current_document().alignToGrid() 
    11171122 
    11181123    def new_arrow_annotation(self): 
    11191124        """Create and add a new arrow annotation to the current scheme. 
    11201125        """ 
    1121         self.current_document().new_arrow_annotation() 
     1126        self.current_document().newArrowAnnotation() 
    11221127 
    11231128    def new_text_annotation(self): 
    11241129        """Create a new text annotation in the scheme. 
    11251130        """ 
    1126         self.current_document().new_text_annotation() 
     1131        self.current_document().newTextAnnotation() 
    11271132 
    11281133    def set_signal_freeze(self, freeze): 
    1129         doc = self.current_document() 
     1134        scheme = self.current_document().scheme() 
    11301135        if freeze: 
    1131             doc.scheme.signal_manager.freeze().push() 
     1136            scheme.signal_manager.freeze().push() 
    11321137        else: 
    1133             doc.scheme.signal_manager.freeze().pop() 
     1138            scheme.signal_manager.freeze().pop() 
    11341139 
    11351140    def remove_selected(self): 
    11361141        """Remove current scheme selection. 
    11371142        """ 
    1138         self.current_document().remove_selected() 
     1143        self.current_document().removeSelected() 
    11391144 
    11401145    def quit(self): 
     
    11541159 
    11551160    def select_all(self): 
    1156         self.current_document().select_all() 
     1161        self.current_document().selectAll() 
    11571162 
    11581163    def open_widget(self): 
    11591164        """Open/raise selected widget's GUI. 
    11601165        """ 
    1161         self.current_document().open_selected() 
     1166        self.current_document().openSelected() 
    11621167 
    11631168    def rename_widget(self): 
     
    11651170        """ 
    11661171        doc = self.current_document() 
    1167         nodes = doc.selected_nodes() 
     1172        nodes = doc.selectedNodes() 
    11681173        if len(nodes) == 1: 
    1169             doc.edit_node_title(nodes[0]) 
     1174            doc.editNodeTitle(nodes[0]) 
    11701175 
    11711176    def widget_help(self): 
     
    11731178        """ 
    11741179        doc = self.current_document() 
    1175         nodes = doc.selected_nodes() 
     1180        nodes = doc.selectedNodes() 
    11761181        help_url = None 
    11771182        if len(nodes) == 1: 
     
    12631268        """ 
    12641269        document = self.current_document() 
    1265         if document.is_modified(): 
     1270        if document.isModified(): 
    12661271            if self.ask_save_changes() == QDialog.Rejected: 
    12671272                return 
     
    12811286        """ 
    12821287        document = self.current_document() 
    1283         if document.is_modified(): 
     1288        if document.isModified(): 
    12841289            if self.ask_save_changes() == QDialog.Rejected: 
    12851290                # Reject the event 
     
    12881293 
    12891294        # Set an empty scheme to clear the document 
    1290         document.set_scheme(widgetsscheme.WidgetsScheme()) 
     1295        document.setScheme(widgetsscheme.WidgetsScheme()) 
    12911296        document.deleteLater() 
    12921297 
Note: See TracChangeset for help on using the changeset viewer.