140
|
1 import os
|
|
2 import orpg.pluginhandler
|
|
3 try: from orpg.orpgCore import component
|
|
4 except: from orpg.orpgCore import open_rpg
|
|
5 import wx
|
|
6
|
|
7 class Plugin(orpg.pluginhandler.PluginHandler):
|
|
8 # Initialization subroutine.
|
|
9 #
|
|
10 # !self : instance of self
|
|
11 # !openrpg : instance of the the base openrpg control
|
|
12 def __init__(self, plugindb, parent):
|
|
13 orpg.pluginhandler.PluginHandler.__init__(self, plugindb, parent)
|
|
14
|
|
15 # The Following code should be edited to contain the proper information
|
|
16 self.name = 'Mouse Zoom'
|
|
17 self.author = 'Tyler Starke (Prof. Ebral)'
|
|
18 self.help = 'This plugin allows users to zoom their map with super ease. Hold Ctrl or Cmd and scroll your mouse '
|
|
19 self.help += 'wheel and the map will zoom in or out. And FAST too! \n'
|
|
20 self.help += 'This plugin is designed for Grumpy Goblin and Ornery Orc.'
|
|
21
|
190
|
22 def plugin_menu(self):
|
|
23 self.menu = wx.Menu()
|
|
24 self.toggle = self.menu.AppendCheckItem(wx.ID_ANY, 'On')
|
|
25 self.topframe.Bind(wx.EVT_MENU, self.plugin_toggle, self.toggle)
|
|
26 self.toggle.Check(True)
|
|
27
|
|
28 def plugin_toggle(self, evt):
|
|
29 if self.toggle.IsChecked() == False: self.canvas.Disconnect(-1, -1, wx.wxEVT_MOUSEWHEEL)
|
|
30 if self.toggle.IsChecked() == True:
|
|
31 self.canvas.Bind(wx.EVT_MOUSEWHEEL, self.MouseWheel)
|
|
32
|
140
|
33 def plugin_enabled(self):
|
|
34 try: self.canvas = component.get('map').canvas
|
|
35 except: self.canvas = open_rpg.get_component('map').canvas
|
|
36 self.canvas.Bind(wx.EVT_MOUSEWHEEL, self.MouseWheel)
|
|
37
|
|
38 def MouseWheel(self, evt):
|
|
39 if evt.CmdDown():
|
|
40 if evt.GetWheelRotation() > 0: self.canvas.on_zoom_in(None)
|
|
41 elif evt.GetWheelRotation() < 0: self.canvas.on_zoom_out(None)
|
|
42 else: pass
|
|
43 else: self.canvas.on_scroll(evt)
|
|
44
|
|
45 def plugin_disabled(self):
|
190
|
46 try: self.canvas.Disconnect(-1, -1, wx.wxEVT_MOUSEWHEEL)
|
|
47 except: pass
|
140
|
48
|