Skip to content

Commit

Permalink
Merge pull request #70 from remi-daigle/dev
Browse files Browse the repository at this point in the history
bug fixes and clarifications
  • Loading branch information
remi-daigle committed Sep 5, 2019
2 parents e16b080 + dd54a8a commit b631796
Show file tree
Hide file tree
Showing 30 changed files with 2,003 additions and 585 deletions.
132 changes: 129 additions & 3 deletions MarxanConnect.fbp
Expand Up @@ -11301,10 +11301,10 @@
<property name="close_button">1</property>
<property name="col_label_horiz_alignment">wxALIGN_CENTER</property>
<property name="col_label_size">30</property>
<property name="col_label_values">&quot;New Conservation Feature&quot; &quot;Status&quot;</property>
<property name="col_label_values">&quot;New Conservation Feature&quot; &quot;Status&quot; &quot;Planning Units&quot;</property>
<property name="col_label_vert_alignment">wxALIGN_CENTER</property>
<property name="cols">2</property>
<property name="column_sizes">600,50</property>
<property name="cols">3</property>
<property name="column_sizes">600,50,125</property>
<property name="context_help"></property>
<property name="context_menu">1</property>
<property name="default_pane">0</property>
Expand Down Expand Up @@ -14355,6 +14355,67 @@
<property name="wrap">-1</property>
</object>
</object>
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxALL</property>
<property name="proportion">0</property>
<object class="wxStaticText" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
<property name="TopDockable">1</property>
<property name="aui_layer"></property>
<property name="aui_name"></property>
<property name="aui_position"></property>
<property name="aui_row"></property>
<property name="best_size"></property>
<property name="bg"></property>
<property name="caption"></property>
<property name="caption_visible">1</property>
<property name="center_pane">0</property>
<property name="close_button">1</property>
<property name="context_help"></property>
<property name="context_menu">1</property>
<property name="default_pane">0</property>
<property name="dock">Dock</property>
<property name="dock_fixed">0</property>
<property name="docking">Left</property>
<property name="enabled">1</property>
<property name="fg"></property>
<property name="floatable">1</property>
<property name="font"></property>
<property name="gripper">0</property>
<property name="hidden">0</property>
<property name="id">wxID_ANY</property>
<property name="label">Number of Iterations</property>
<property name="markup">0</property>
<property name="max_size"></property>
<property name="maximize_button">0</property>
<property name="maximum_size"></property>
<property name="min_size"></property>
<property name="minimize_button">0</property>
<property name="minimum_size"></property>
<property name="moveable">1</property>
<property name="name">NUMITNS_txt</property>
<property name="pane_border">1</property>
<property name="pane_position"></property>
<property name="pane_size"></property>
<property name="permission">protected</property>
<property name="pin_button">1</property>
<property name="pos"></property>
<property name="resize">Resizable</property>
<property name="show">1</property>
<property name="size"></property>
<property name="style"></property>
<property name="subclass">; ; forward_declare</property>
<property name="toolbar_pane">0</property>
<property name="tooltip">The number of annealing iterations, also known as &quot;NUMITNS&quot;.</property>
<property name="window_extra_style"></property>
<property name="window_name"></property>
<property name="window_style"></property>
<property name="wrap">-1</property>
</object>
</object>
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxALL|wxEXPAND</property>
Expand Down Expand Up @@ -14485,6 +14546,71 @@
<event name="OnText">on_SCENNAME</event>
</object>
</object>
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxALL</property>
<property name="proportion">0</property>
<object class="wxTextCtrl" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
<property name="TopDockable">1</property>
<property name="aui_layer"></property>
<property name="aui_name"></property>
<property name="aui_position"></property>
<property name="aui_row"></property>
<property name="best_size"></property>
<property name="bg"></property>
<property name="caption"></property>
<property name="caption_visible">1</property>
<property name="center_pane">0</property>
<property name="close_button">1</property>
<property name="context_help"></property>
<property name="context_menu">1</property>
<property name="default_pane">0</property>
<property name="dock">Dock</property>
<property name="dock_fixed">0</property>
<property name="docking">Left</property>
<property name="enabled">1</property>
<property name="fg"></property>
<property name="floatable">1</property>
<property name="font"></property>
<property name="gripper">0</property>
<property name="hidden">0</property>
<property name="id">wxID_ANY</property>
<property name="max_size"></property>
<property name="maximize_button">0</property>
<property name="maximum_size"></property>
<property name="maxlength"></property>
<property name="min_size"></property>
<property name="minimize_button">0</property>
<property name="minimum_size"></property>
<property name="moveable">1</property>
<property name="name">NUMITNS</property>
<property name="pane_border">1</property>
<property name="pane_position"></property>
<property name="pane_size"></property>
<property name="permission">protected</property>
<property name="pin_button">1</property>
<property name="pos"></property>
<property name="resize">Resizable</property>
<property name="show">1</property>
<property name="size"></property>
<property name="style"></property>
<property name="subclass">; ; forward_declare</property>
<property name="toolbar_pane">0</property>
<property name="tooltip"></property>
<property name="validator_data_type"></property>
<property name="validator_style">wxFILTER_NONE</property>
<property name="validator_type">wxDefaultValidator</property>
<property name="validator_variable"></property>
<property name="value">1000000</property>
<property name="window_extra_style"></property>
<property name="window_name"></property>
<property name="window_style"></property>
<event name="OnText">on_NUMITNS</event>
</object>
</object>
</object>
</object>
<object class="sizeritem" expanded="0">
Expand Down
33 changes: 25 additions & 8 deletions MarxanConnectGUI.py
Expand Up @@ -352,6 +352,7 @@ def set_GUI_options(self):

self.NUMREPS.SetValue(self.project['options']['NUMREPS'])
self.SCENNAME.SetValue(self.project['options']['SCENNAME'])
self.NUMITNS.SetValue(self.project['options']['NUMITNS'])
self.marxan_CF.SetStringSelection(self.project['options']['marxan_CF'])
self.marxan_bound.SetStringSelection(self.project['options']['marxan_bound'])
self.inputdat_symmRadio.SetStringSelection(self.project['options']['inputdat_boundary'])
Expand Down Expand Up @@ -1491,6 +1492,14 @@ def on_SCENNAME( self, event ):
"""
self.project['options']['SCENNAME'] = self.SCENNAME.GetValue()

def on_NUMITNS( self, event ):
"""
define NUMITNS
:param event:
:return:
"""
self.project['options']['NUMITNS'] = self.NUMITNS.GetValue()

def on_marxan_CF( self, event ):
"""
define whether to use original or new conservation features in Marxan
Expand Down Expand Up @@ -1863,13 +1872,6 @@ def on_export_PUDAT( self, event, mute=False):
"Export Successful")

def export_boundary_file(self, BD_filepath):
self.all_types = []
for type in ['demo_pu', 'land_pu']:
if 'spec_'+type in self.project['connectivityMetrics']:
self.all_types += [type]
if len(self.all_types)==0:
marxanconpy.warn_dialog(message="Boundary files can only be exported for planning units.")
return
multiple = len(self.project['connectivityMetrics']['boundary'].keys()) > 1

for k in self.project['connectivityMetrics']['boundary']:
Expand Down Expand Up @@ -2191,6 +2193,15 @@ def update_discrete_grid(self):
else:
self.discrete_grid.SetCellValue(i, 1, str("Status Quo"))

if 'spec_demo_pu' in self.project['connectivityMetrics'] and 'spec_land_pu' in self.project['connectivityMetrics']:
spec = {**self.project['connectivityMetrics']['spec_demo_pu'], **self.project['connectivityMetrics']['spec_land_pu']}
elif 'spec_demo_pu' in self.project['connectivityMetrics']:
spec = self.project['connectivityMetrics']['spec_demo_pu']
elif 'spec_land_pu' in self.project['connectivityMetrics']:
spec = self.project['connectivityMetrics']['spec_land_pu']

self.discrete_grid.SetCellValue(i,2,str(100*(numpy.mean(spec[metrics[i]])).round(2))+'%')

self.discrete_grid.AutoSize()

# ########################## marxan functions ##########################################################################
Expand Down Expand Up @@ -2230,6 +2241,9 @@ def on_generate_inputdat( self, event ):
if line.startswith("SCENNAME"):
line = 'SCENNAME ' + self.project['options']['SCENNAME'] + '\n'

if line.startswith("NUMITNS"):
line = 'NUMITNS ' + self.project['options']['NUMITNS'] + '\n'

if line.startswith("BLM"):
line = 'BLM ' + self.project['options']['CSM'] + '\n'

Expand Down Expand Up @@ -2279,7 +2293,10 @@ def on_customize_inpudat( self, event ):
:return:
"""
if platform.system() == 'Windows':
os.system("start "+self.project['filepaths']['marxan_input'])
test=os.system("start "+self.project['filepaths']['marxan_input'])
if test==1:
marxanconpy.warn_dialog(
"Your computer does have a default editor for the select file. In Windows File Explorer, double click on a the selected file, You will be asked to set the default program (notepad, notepad++, etc). After that MC will be able to open the file in the default editor")
elif platform.system() == "Darwin":
os.system("open -t " + self.project['filepaths']['marxan_input'])

Expand Down
4 changes: 2 additions & 2 deletions WindowsSetupBuilder.iss
Expand Up @@ -2,7 +2,7 @@
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!

#define MyAppName "Marxan Connect"
#define MyAppVersion "v0.1.4"
#define MyAppVersion "v0.1.5"
#define MyAppPublisher "Canadian Healthy Oceans Network"
#define MyAppURL "http://marxanconnect.ca/"
#define MyAppExeName "MarxanConnectGUI.exe"
Expand All @@ -24,7 +24,7 @@ DefaultGroupName={#MyAppName}
AllowNoIcons=yes
LicenseFile=C:\Users\daigl\Documents\GitHub\MarxanConnect\LICENSE
OutputDir=C:\Users\daigl\Documents\GitHub\MarxanConnect
OutputBaseFilename=MarxanConnect-v0-1-4-windows-setup
OutputBaseFilename=MarxanConnect-v0-1-5-windows-setup
SetupIconFile=C:\Users\daigl\Documents\GitHub\MarxanConnect\docs\images\icon_bundle.ico
Compression=lzma
SolidCompression=yes
Expand Down

0 comments on commit b631796

Please sign in to comment.