19 from .editorcreator
import EditorCreator
20 from ..pluginapi
import (Plugin, ActionInfoCollection, TreeAwarePluginMixin)
21 from ..publish
import (RideTreeSelection, RideNotebookTabChanging, RideNotebookTabChanged, RideSaving)
22 from ..publish.messages
import RideDataFileRemoved
23 from ..utils
import overrides
24 from ..widgets
import PopupCreator
31 &Undo | Undo last modification | Ctrlcmd-Z
32 &Redo | Redo modification | Ctrlcmd-Y
34 Cu&t | Cut | Ctrlcmd-X
35 &Copy | Copy | Ctrlcmd-C
36 &Paste | Paste | Ctrlcmd-V
37 &Insert | Insert | Shift-Ctrl-V
38 &Delete | Delete | Del
40 Comment Rows | Comment selected rows | Ctrlcmd-3
41 CommentCells | Comment cells with # | Ctrlcmd-Shift-3
42 Uncomment Rows | Uncomment selected rows | Ctrlcmd-4
43 UncommentCells | Uncomment cells with # | Ctrlcmd-Shift-4
45 Insert Cells | Insert Cells | Ctrlcmd-Shift-I
46 Delete Cells | Delete Cells | Ctrlcmd-Shift-D
47 Insert Rows | Insert Rows | Ctrlcmd-I
48 Delete Rows | Delete Rows | Ctrlcmd-D
50 Content Assistance (Ctrl-Space or Ctrl-Alt-Space) | Show possible keyword and variable completions | | | POSITION-70
61 Plugin.__init__(self, application)
68 self.
_creator_creator.register_editors()
70 self.register_actions(
73 self.subscribe(self.
OnTabChangedOnTabChanged, RideNotebookTabChanged)
74 self.subscribe(self.
OnTabChangingOnTabChanging, RideNotebookTabChanging)
76 self.subscribe(self.
OnFileDeletedOnFileDeleted, RideDataFileRemoved)
77 self.add_self_as_tree_aware_plugin()
80 self.remove_self_from_tree_aware_plugins()
81 self.unsubscribe_all()
82 self.delete_tab(self.
_tab_tab)
83 wx.CallLater(500, self.unregister_actions())
88 return self.tab_is_visible(self.
_tab_tab)
99 self.show_tab(self.
_tab_tab)
115 if not self.
_tab_tab:
117 self.add_tab(self.
_tab_tab,
'Edit', allow_closing=
False)
123 return self.
_creator_creator.editor_for(self, self.
_tab_tab, self.tree)
128 not self.is_focus_on_tree_aware_plugin()
and \
129 (
not message
or not message.silent):
134 self.
_editor_editor.tree_item_selected(message.item)
139 return self.
_editor_editor.controller.datafile
140 return Plugin.get_selected_datafile(self)
149 if 'Edit' in message.oldtab:
163 wx.Panel.__init__(self, plugin.notebook, style=wx.SUNKEN_BORDER)
165 self.
sizersizer = wx.BoxSizer(wx.VERTICAL)
166 self.SetSizer(self.
sizersizer)
168 self.SetBackgroundColour(Colour(200, 222, 40))
169 self.SetOwnBackgroundColour(Colour(200, 222, 40))
170 self.SetForegroundColour(Colour(7, 0, 70))
171 self.SetOwnForegroundColour(Colour(7, 0, 70))
179 if editor
is self.
editoreditor:
182 self.
sizersizer.Clear()
183 self.
editoreditor = editor
184 self.
sizersizer.Add(self.
editoreditor, 1, wx.ALL | wx.EXPAND)
192 self.
pluginplugin.save_selected_datafile()
210 self.
editoreditor.insert()
213 self.
editoreditor.insert_cells()
217 self.
editoreditor.delete_cells()
220 self.
editoreditor.insert_rows()
223 wx.CallAfter(self.
editoreditor.delete_rows)
226 self.
editoreditor.delete()
229 self.
editoreditor.comment_rows()
232 self.
editoreditor.uncomment_rows()
235 self.
editoreditor.comment_cells()
238 self.
editoreditor.uncomment_cells()
241 self.
editoreditor.show_content_assist()
The default editor plugin.
def OnTabChanged(self, message)
def OnSaveToModel(self, message)
def OnFileDeleted(self, message)
def unregister_context_menu_hook_to_grid(self, hook)
def __init__(self, application)
def highlight(self, text)
def OnOpenEditor(self, event)
def get_selected_datafile(self)
def register_context_menu_hook_to_grid(self, hook)
Used to register own items to grid's right click context menu.
def highlight_cell(self, obj, row, column)
def OnTreeItemSelected(self, message)
def OnTabChanging(self, message)
def OnDeleteCells(self, event)
def OnDeleteRows(self, event)
def OnInsertRows(self, event)
def OnCommentCells(self, event)
def __init__(self, plugin)
def OnUncommentRows(self, event)
def show_editor(self, editor)
def OnInsertCells(self, event)
def OnUncommentCells(self, event)
def OnInsert(self, event)
def OnDelete(self, event)
def save(self, message=None)
def OnContentAssistance(self, event)
def OnCommentRows(self, event)
def ActionInfoCollection(data, event_handler, container=None)
Parses the data into a list of ActionInfo and SeparatorInfo objects.