# coding: utf-8\r
\r
import sys\r
+import os\r
import tkinter\r
import tkinter.filedialog\r
import togl\r
import opengl\r
import opengl.rokuro\r
-import triangle\r
+import mqobuilder\r
\r
\r
class Frame(tkinter.Frame):\r
self.master.config(menu=menu_bar)\r
\r
menu_file = tkinter.Menu(menu_bar, tearoff=False)\r
- menu_bar.add_cascade(label='FILE', menu=menu_file, underline=0)\r
+ menu_bar.add_cascade(label='File', menu=menu_file, underline=0)\r
\r
menu_file.add_command(label='Open', under=0, command=self.onOpen)\r
\r
# setup opengl widget\r
- self.glworld=opengl.BaseController(opengl.rokuro.RokuroView(25), triangle.Triangle(5))\r
- glwidget=togl.Widget(self, self.glworld, width=width, height=height)\r
- glwidget.pack(fill=tkinter.BOTH, expand=True)\r
+ self.glworld=opengl.BaseController(opengl.rokuro.RokuroView(25))\r
+ self.glwidget=togl.Widget(self, self.glworld, width=width, height=height)\r
+ self.glwidget.pack(fill=tkinter.BOTH, expand=True)\r
\r
# event binding\r
self.bind('<Key>', self.onKeyDown)\r
- self.bind('<MouseWheel>', lambda e: self.glworld.onWheel(-e.delta) and glwidget.onDraw())\r
+ self.bind('<MouseWheel>', lambda e: self.glworld.onWheel(-e.delta) and self.glwidget.onDraw())\r
\r
def onOpen(self):\r
filename=tkinter.filedialog.askopenfilename(\r
('poloygon model files', '*.mqo;*.pmd'),\r
], \r
initialdir=self.current)\r
- print('open: %s' % filename)\r
+ if filename.lower().endswith(".mqo"):\r
+ self.loadMqo(filename)\r
+ elif filename.lower().endswith(".pmd"):\r
+ self.loadPmd(filename)\r
+ self.current=os.path.dirname(filename)\r
+\r
+ def loadMqo(self, path):\r
+ # load scenee\r
+ model=mqobuilder.build(path)\r
+ if not model:\r
+ print('fail to load %s' % path)\r
+ return\r
+ self.glworld.setRoot(model)\r
+ print('loadMqo %s' % path)\r
+ self.glwidget.onDraw()\r
+\r
+ def loadPmd(self, path):\r
+ print('loadPmd %s' % path)\r
\r
def onKeyDown(self, event):\r
key=event.keycode\r