All pastes #490655 Raw Edit

Miscellany

public text v1 · immutable
·published 2007-05-16 04:22 UTC
rendered paste body
"""plug_2initprog.py
An example plugin for Visual APT.

This example helps set up some things that are common to apt programs.


Module names must be plug_*.py where * is any valid unix name
Modules will be searched for in ~/.vapt/plugins
To see what methods VaptPlugin offers:
    pydoc vapt.vapt_plugin.VaptPlugin
"""

__author__ = 'Dan Falck <dfalck@verizon.net>'
__date__ = '05/06/2007'


import Tkinter as Tk
import tkMessageBox as tkmb
from vapt.vapt_plugin import VaptPlugin



class Proginit(Tk.Toplevel):

    def __init__(self, master, plug, **kw):
        self.plug = plug
        Tk.Toplevel.__init__(self, master, **kw)
        self.transient(master)
        #self.resizable(0, 0)
        self.title("Prog Init")
        self.p_label=Tk.Label(self, text="part #").pack()     
        self.p_num=Tk.Entry(self)
        self.p_num.pack()
        self.m_label=Tk.Label(self, text="post processor").pack()     
        self.m_num=Tk.Entry(self)
        self.m_num.pack()

        Tk.Button(self, text="Write", command=self.on_button).pack()



    def on_button(self):
        plug = self.plug
        editor = plug.raise_apt()
        p=self.p_num.get()
        
        editor.insert(Tk.INSERT,'partno/ ')
        editor.insert(Tk.INSERT, p)
        editor.insert(Tk.INSERT, '\n')
        m=self.m_num.get()
        editor.insert(Tk.INSERT, 'machin/')
        editor.insert(Tk.INSERT, m)
        editor.insert(Tk.INSERT, '\n')
        editor.insert(Tk.INSERT, 'print/on\n')
        editor.insert(Tk.INSERT, 'clprnt\n')
        editor.insert(Tk.INSERT, '\n')

        editor.insert(Tk.INSERT, 'fini\n')

        editor.mark_set(Tk.INSERT, "5.0")        
        self.destroy()




# You must have a class derived from VaptPlugin.
class CutterPlugin(VaptPlugin):

    def __init__(self, mainframe):
        # must call the base class
        VaptPlugin.__init__(self, mainframe)
        # This will be the string show in the vapt Plugin menu.
        self.menu_name = 'Prog Init'
        # anything else here

    def run(self):
        """This will be called when the menu is clicked.
        """
        Proginit(self.mf, self)

    def unload(self):
        """This is called just before vapt shuts down.
        You dont have to implement this if you dont need it.
        VaptPlugin.unload() will be called, which does nothing.
        """
        # anything else here
        pass