Changeset 1128


Ignore:
Timestamp:
19.01.2016 23:05:35 (4 years ago)
Author:
klaus
Message:

fake interface to parameters

File:
1 edited

Legend:

Unmodified
Added
Removed
  • SHX/trunk/SeismicHandler/modules/wx_.py

    r1127 r1128  
    1010import math 
    1111import os 
     12from functools import partial 
    1213from SeismicHandler.basics.messages import msgs, subscribe_ui_event, \ 
    1314                                ui_event, log_message, get_style#, get_runtime 
     
    13861387        self.addEntry( simulateMenu, 'Undo', 
    13871388            'Return to original traces', self.OnSimulateUndo ) 
     1389        # control menu 
     1390        controlMenu = wx.Menu() 
     1391        self.addEntry( controlMenu, 'Open Parameters', 
     1392            'Open parameter dialog', self.OnOpenParams ) 
    13881393        # test menu 
    13891394        testMenu = wx.Menu() 
     
    13981403        menubar.Append( arrayMenu, 'Array' ) 
    13991404        menubar.Append( simulateMenu, 'Simulate' ) 
     1405        menubar.Append( controlMenu, 'Control' ) 
    14001406        menubar.Append( testMenu, 'Test' ) 
    14011407        self.SetMenuBar( menubar ) 
     
    15751581    def OnSimulateUndo( self, e ): 
    15761582        _sendShCommand( 'shx_menu_simulate undo' ) 
     1583     
     1584    def OnOpenParams( self, e ): 
     1585        dia = ParamDialog( self ) 
     1586        dia.Show() 
    15771587 
    15781588    def redraw(self): 
     
    15821592        self._seltrace = trace 
    15831593        self._zoomwdw = (start,end) 
     1594 
     1595 
     1596class ParamDialog(wx.Dialog): 
     1597 
     1598    def __init__( self, parent ): 
     1599        wx.Dialog.__init__( self, parent, -1, "Parameters", size=(350,650) ) 
     1600        #sizer =  self.CreateTextSizer('Param X') 
     1601         
     1602        ypos = 10 
     1603        height = 26 
     1604        textwidth = 270 
     1605        btnwidth = 70 
     1606        space = 11 
     1607         
     1608        self.SetBackgroundColour( 'white' ) 
     1609        self.vtext = {} 
     1610        self.vbutton = {} 
     1611 
     1612        ap = AnalysisPar() 
     1613        for pname in ap.sortedParams(): 
     1614            pvalue = ap.getValueAsString( pname ) 
     1615            ptext = "%s : %s" % (pname,pvalue) 
     1616            self.vbutton[pname] = wx.Button( self, label='Change', 
     1617                pos=(space,ypos-4), size=(btnwidth,height) ) 
     1618            self.vtext[pname] = wx.StaticText( self, label=ptext, 
     1619                pos=(btnwidth+2*space,ypos), size=(textwidth,height) ) 
     1620            self.Bind( wx.EVT_BUTTON, partial(self.OnButton,pname), 
     1621                self.vbutton[pname] ) 
     1622            ypos += 28 
     1623     
     1624    def OnButton( self, pname, e, *args ): 
     1625        print "Button pressed", pname 
     1626        dlg = QueryString( self, "get string", "enter something" ) 
     1627        dlg.ShowModal() 
     1628        result = dlg.getValue() 
     1629        #dlg.Destroy() 
     1630        self.vtext[pname].SetLabel( "%s : %s" % (pname,result) ) 
     1631 
     1632 
     1633class QueryString(wx.Dialog): 
     1634 
     1635    def __init__( self, parent, title, prompt ): 
     1636        wx.Dialog.__init__( self, parent, -1, title, size=(350,200) ) 
     1637        self.SetBackgroundColour( 'white' ) 
     1638        wx.StaticText( self, label=prompt, pos=(10,10) ) 
     1639        self.text = wx.TextCtrl( self, value="fsdfds", pos=(100,10), 
     1640            size=(100,50) ) 
     1641        tbtn = wx.Button( self, label='OK', pos=(10,150) ) 
     1642        self.Bind( wx.EVT_BUTTON, self.OnText, tbtn ) 
     1643        self.result = None 
     1644     
     1645    def OnText( self, e ): 
     1646        self.result = self.text.GetValue() 
     1647        self.Destroy() 
     1648     
     1649    def getValue( self ): 
     1650        return self.result 
     1651         
     1652 
     1653 
    15841654 
    15851655def _sendShCommand( cmdstring, name="default" ): 
Note: See TracChangeset for help on using the changeset viewer.