Changeset 2932 for branch


Ignore:
Timestamp:
Jul 14, 2017 9:13:04 AM (4 years ago)
Author:
vondreele
Message:

fix window placement when screens change

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branch/2frame/GSASIIdataGUI.py

    r2931 r2932  
    104104            'HStrain':[NDij*[0.0,],NDij*[False,]],                         
    105105            'Extinction':[0.0,False],'Babinet':{'BabA':[0.0,False],'BabU':[0.0,False]}}
     106       
     107def GetDisplay(pos):
     108    '''Gets display number (0=main display) for window position (pos). If pos outside all displays
     109    returns None
     110    '''
     111    displays = np.array([list(wx.Display(i).GetGeometry()) for i in range(wx.Display.GetCount())])
     112    for ip,display in enumerate(displays):
     113        display[2:3] += display[0:1]
     114        if (display[0] < pos[0] < display[2]) and (display[1] < pos[1] < display[3]):
     115            print pos,display,ip
     116            return ip
     117    return None
    106118
    107119################################################################################
     
    28872899            if GSASIIpath.GetConfigValue('Main_Pos'):
    28882900                print('Value for config Main_Pos {} is invalid'.format(GSASIIpath.GetConfigValue('Main_Pos')))
    2889 #        if not self.IsShownOnScreen():
    2890 #            self.Centre()
     2901        if GetDisplay(main_pos) is None:
     2902            self.Centre()
     2903           
    28912904        try:
    28922905            plot_pos = eval(GSASIIpath.GetConfigValue('Plot_Pos'))
    28932906            self.plotFrame.SetPosition(plot_pos)
     2907            print main_pos,self.GetPosition()
    28942908        except:
    28952909            if GSASIIpath.GetConfigValue('Plot_Pos'):
    28962910                print('Value for config Plot_Pos {} is invalid'.format(GSASIIpath.GetConfigValue('Plot_Pos')))
    2897 #        if not self.plotFrame.IsShownOnScreen():
    2898 #            self.plotFrame.Centre()
     2911        if GetDisplay(plot_pos) is None:
     2912            self.plotFrame.Centre()
     2913            print plot_pos,self.plotFrame.GetPosition()
    28992914       
    29002915    def __init__(self, parent):
Note: See TracChangeset for help on using the changeset viewer.