@@ -713,16 +713,11 @@ class WPFToolkit(Window):
713
713
714
714
def __init__ (self , toolkit_file , aedt_design = None , parent_design_name = None ):
715
715
716
- my_path = os .path .abspath (os .path .dirname (__file__ ))
716
+ self .toolkit_file = toolkit_file
717
+ self ._aedtdesign = None
717
718
self .aedtdesign = aedt_design
718
- self .toolkit_name = os .path .basename (toolkit_file ).replace (".py" , "" )
719
- if self .aedtdesign :
720
- self .settings_manager = WPFToolkitSettings (aedtdesign = self .aedtdesign , toolkit_name = self .toolkit_name )
721
- else :
722
- self .settings_manager = WPFToolkitSettings (working_directory = my_path , toolkit_name = self .toolkit_name )
723
-
719
+ self .parent_design_name = parent_design_name
724
720
self .window = None
725
-
726
721
self .ui = UIObjectGetter (self )
727
722
my_path = os .path .abspath (os .path .dirname (__file__ ))
728
723
self .toolkit_directory = os .path .abspath (os .path .dirname (toolkit_file ))
@@ -731,19 +726,6 @@ def __init__(self, toolkit_file, aedt_design=None, parent_design_name=None):
731
726
sys .path .append (self .aedtlib_directory )
732
727
self .image_path = os .path .join (self .aedtlib_directory , "misc" )
733
728
734
- if parent_design_name :
735
- self .parent_design_name = parent_design_name
736
- if not parent_design_name in self .aedtdesign .design_list :
737
- orig_design_name = self .aedtdesign .design_name
738
- if self .parent_design_name != orig_design_name :
739
- self ._write_parent_link ()
740
- self .aedtdesign .duplicate_design (self .parent_design_name )
741
- self .aedtdesign .save_project ()
742
- else :
743
- self .aedtdesign .set_active_design (parent_design_name )
744
- else :
745
- self .parent_design_name = self .aedtdesign .design_name
746
-
747
729
self .dsoconfigfile = os .path .join (self .toolkit_directory , "dso.cfg" )
748
730
749
731
# Read existing settings and update the library path
@@ -752,6 +734,50 @@ def __init__(self, toolkit_file, aedt_design=None, parent_design_name=None):
752
734
# LOCAL_INSTALL = self.aedtdesign.odesktop.GetExeDir()
753
735
# self.desktopjob = os.path.join(LOCAL_INSTALL, "desktopjob.exe")
754
736
737
+ @property
738
+ def aedtdesign (self ):
739
+ """Return Aedt Object."""
740
+ return self ._aedtdesign
741
+
742
+ @aedtdesign .setter
743
+ def aedtdesign (self , design ):
744
+ my_path = os .path .abspath (os .path .dirname (__file__ ))
745
+ self ._aedtdesign = design
746
+ self .toolkit_name = os .path .basename (self .toolkit_file ).replace (".py" , "" )
747
+ if self ._aedtdesign :
748
+ self .settings_manager = WPFToolkitSettings (aedtdesign = self ._aedtdesign , toolkit_name = self .toolkit_name )
749
+ self ._parent_design_name = self ._aedtdesign .design_name
750
+ else :
751
+ self .settings_manager = WPFToolkitSettings (working_directory = my_path , toolkit_name = self .toolkit_name )
752
+ self ._parent_design_name = None
753
+
754
+ @property
755
+ def parent_design_name (self ):
756
+ """Aedt Design Name."""
757
+
758
+ if self .aedtdesign :
759
+ self ._parent_design_name = self .aedtdesign .design_name
760
+ else :
761
+ self ._parent_design_name = None
762
+ return self ._parent_design_name
763
+
764
+ @parent_design_name .setter
765
+ def parent_design_name (self , design_name = None ):
766
+ if not self .aedtdesign :
767
+ self ._parent_design_name = None
768
+ elif design_name :
769
+ self ._parent_design_name = design_name
770
+ if not design_name in self .aedtdesign .design_list :
771
+ orig_design_name = self .aedtdesign .design_name
772
+ if self ._parent_design_name != orig_design_name :
773
+ self ._write_parent_link ()
774
+ self .aedtdesign .duplicate_design (self ._parent_design_name )
775
+ self .aedtdesign .save_project ()
776
+ else :
777
+ self .aedtdesign .set_active_design (design_name )
778
+ else :
779
+ self ._parent_design_name = self .aedtdesign .design_name
780
+
755
781
@property
756
782
def results_path (self ):
757
783
"""Results folder path."""
@@ -810,6 +836,41 @@ def _add_line_to_xml(self, line_to_add):
810
836
f .write (line )
811
837
shutil .move (self .xaml_file [:- 5 ] + "_tmp.xaml" , self .xaml_file )
812
838
839
+ @aedt_exception_handler
840
+ def edit_window_size (self , width = 800 , height = 600 , title = "PyAEDT WPF Application" , background = "#FFD1CFCF" ):
841
+ """Edit the Wpf windows size.
842
+
843
+ Parameters
844
+ ----------
845
+ width : int, optional
846
+ Windows width.
847
+ height : int, optional
848
+ Windows height.
849
+ title : str, optional
850
+ Windows title.
851
+ background : str, optional
852
+ Windows color in hex mode.
853
+
854
+ Returns
855
+ -------
856
+ bool
857
+ `True` if succeeded.
858
+ """
859
+ with open (self .xaml_file , "r" ) as file :
860
+ file = file .readlines ()
861
+ line_to_add = ' Title="{}" Height="{}" Width="{}" Background="{}">' .format (
862
+ title , height , width , background
863
+ )
864
+
865
+ with open (self .xaml_file [:- 5 ] + "_tmp.xaml" , "w" ) as f :
866
+ for line in file :
867
+ if " Title=" in line :
868
+ f .write (line_to_add + "\n " )
869
+ else :
870
+ f .write (line )
871
+ shutil .move (self .xaml_file [:- 5 ] + "_tmp.xaml" , self .xaml_file )
872
+ return True
873
+
813
874
@aedt_exception_handler
814
875
def add_label (self , name , content , x_pos , y_pos ):
815
876
"""Adds a label to Wpf.
0 commit comments