Implements save settings. Everything seem to work fine. Later work with default parameters in a better way.

This commit is contained in:
2012-08-31 10:31:33 +02:00
parent 5eed8c66c2
commit 6ea2f9238a
3 changed files with 57 additions and 19 deletions

View File

@@ -122,11 +122,11 @@ class IvolutionWindow(IvolutionTemplate, Observer, Observable):
"""
Activated when a user clicks to choose its input location
"""
default_dir = "~/Pictures"
self.inputdialog = wx.DirDialog(self, "Please choose your input directory", style=1, defaultPath=default_dir)
self.inputdialog = wx.DirDialog(self, "Please choose your input directory", style=1, defaultPath=self.in_fo)
if self.inputdialog.ShowModal() == wx.ID_OK:
self.inputtextbox.SetLabel(self.inputdialog.GetPath())
self.in_fo = self.inputdialog.GetPath()
self.inputtextbox.SetLabel(self.in_fo)
self.inputdialog.Destroy()
def on_output(self, event):
@@ -241,18 +241,19 @@ either expressed or implied, of the FreeBSD Project."""
Retrieves all parameters needed for the algorithm to run
"""
#self.in_fo = self.inputtextbox.GetLabel() + "/"
self.in_fo = "C:\Users\jll\perso\Ivolution\ivolution\data\samples" + "/"
self.out_fo = "C:\Users\jll\Videos" + "/"
#self.out_fo = self.outputchoosertext.GetLabel() + "/"
self.param = "frontal_face"
#self.param = self.typefacelist.GetValue()
#self.speed = self.videospeedlistChoices.index(self.videospeedlist.GetValue()) # We need and integer between 0 and 2
self.speed = self.videospeedlistChoices[1]
# self.in_fo = "C:\Users\jll\perso\Ivolution\ivolution\data\samples" + "/"
# self.out_fo = "C:\Users\jll\Videos" + "/"
# #self.out_fo = self.outputchoosertext.GetLabel() + "/"
# self.param = "frontal_face"
# #self.param = self.typefacelist.GetValue()
# #self.speed = self.videospeedlistChoices.index(self.videospeedlist.GetValue()) # We need and integer between 0 and 2
# self.speed = self.videospeedlistChoices[1]
self.mode = "crop"
self.sort = "name"
# self.mode = "crop"
# self.sort = "name"
#self.mode = self.get_current_mode()
#self.sort = self.get_current_sort()
self.print_parameters()
# Instantiating the face_params object that will be needed by the facemovie
par_fo = os.path.join(self.root_fo, get_data("haarcascades"))
@@ -264,8 +265,6 @@ either expressed or implied, of the FreeBSD Project."""
self.mode,
self.speed)
self.print_parameters()
def print_parameters(self):
print "#########"
print "Settings:"

View File

@@ -91,7 +91,7 @@ class SettingsTemplate ( wx.Frame ):
self.basicPage.SetSizer( fgSizer5 )
self.basicPage.Layout()
fgSizer5.Fit( self.basicPage )
self.m_notebook4.AddPage( self.basicPage, u"Basic", True )
self.m_notebook4.AddPage( self.basicPage, u"Basic", False )
self.advancedPage = wx.Panel( self.m_notebook4, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL )
fgSizer11 = wx.FlexGridSizer( 4, 1, 0, 0 )
fgSizer11.SetFlexibleDirection( wx.BOTH )
@@ -108,7 +108,7 @@ class SettingsTemplate ( wx.Frame ):
speedSizer.Add( self.speedLabel, 0, wx.ALL, 5 )
speedComboChoices = [ u"Slow", u"Medium", u"Fast" ]
self.speedCombo = wx.ComboBox( self.advancedPage, wx.ID_ANY, u"Medium", wx.DefaultPosition, wx.DefaultSize, speedComboChoices, 0 )
self.speedCombo = wx.ComboBox( self.advancedPage, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, speedComboChoices, 0 )
speedSizer.Add( self.speedCombo, 0, wx.ALL|wx.EXPAND, 5 )
fgSizer11.Add( speedSizer, 1, wx.EXPAND, 10 )
@@ -151,7 +151,7 @@ class SettingsTemplate ( wx.Frame ):
typeSizer.Add( self.typeLabel, 0, wx.ALL, 5 )
typeComboChoices = [ u"frontal_face", u"profile_face" ]
self.typeCombo = wx.ComboBox( self.advancedPage, wx.ID_ANY, u"frontal_face", wx.DefaultPosition, wx.DefaultSize, typeComboChoices, 0 )
self.typeCombo = wx.ComboBox( self.advancedPage, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, typeComboChoices, 0 )
typeSizer.Add( self.typeCombo, 0, wx.ALL, 5 )
fgSizer11.Add( typeSizer, 1, wx.EXPAND, 5 )
@@ -179,7 +179,7 @@ class SettingsTemplate ( wx.Frame ):
self.advancedPage.SetSizer( fgSizer11 )
self.advancedPage.Layout()
fgSizer11.Fit( self.advancedPage )
self.m_notebook4.AddPage( self.advancedPage, u"Advanced", False )
self.m_notebook4.AddPage( self.advancedPage, u"Advanced", True )
fgSizer4.Add( self.m_notebook4, 1, wx.ALL|wx.EXPAND, 5 )
@@ -217,3 +217,4 @@ class SettingsTemplate ( wx.Frame ):
def on_save( self, event ):
event.Skip()

View File

@@ -30,6 +30,8 @@ class SettingsWindow(SettingsTemplate):
#self.SetIcon(wx.Icon('ivolution/data/media/icons/spanner_48.ico',
# wx.BITMAP_TYPE_ICO))
self.parent = parent
# Defining settings value
self.output_folder = parent.out_fo
self.video_name = "Ivolution"
@@ -40,6 +42,8 @@ class SettingsWindow(SettingsTemplate):
# setting default value from main window
self.outputLocationLabel.SetLabel(self.output_folder)
self.typeCombo.SetSelection(0)
self.speedCombo.SetSelection(1)
# Virtual event handlers, overide them in your derived class
def on_output(self, event):
@@ -57,4 +61,38 @@ class SettingsWindow(SettingsTemplate):
self.Close(True) # Close the frame.
def on_save(self, event):
event.Skip()
# output_folder is already set
self.video_name = self.outputText.GetValue()
self.type = self.typeCombo.GetSelection()
self.mode = self.modeRadioBox.GetSelection()
self.speed = self.speedCombo.GetSelection()
self.sort = self.sortRadioBox.GetSelection()
#self.print_parameters()
self.setParentParams()
self.Close(True) # Close the frame.
def setParentParams(self):
modeChoices = [u"conservative", u"crop"]
paramChoices = [u"frontal_face", u"profile_face"]
sortChoices = [u"name", u"exif"]
#self.video_name
self.parent.out_fo = self.output_folder
self.parent.param = paramChoices[self.type]
self.parent.mode = modeChoices[self.mode]
self.parent.speed = self.speed
self.parent.sort = sortChoices[self.sort]
def print_parameters(self):
print "#########"
print "Settings:"
print "file name : %s" % (self.video_name)
print "output folder : %s" % (self.output_folder)
print "Face Type : %s" % (self.type)
print "Speed chosen : %s" % (self.speed)
print "Mode chosen : %s" % (self.mode)
print "Sort method : %s" % (self.sort)
print "#########"