88
88
from processing .gui .BatchInputSelectionPanel import BatchInputSelectionPanel
89
89
from processing .gui .FixedTablePanel import FixedTablePanel
90
90
from processing .gui .ExtentSelectionPanel import ExtentSelectionPanel
91
- from processing .gui .StringInputPanel import StringInputPanel
92
91
93
92
94
93
DIALOG_STANDARD = 'standard'
@@ -837,43 +836,43 @@ def validator(v):
837
836
return self .comboValue (validator , combobox = self .combo )
838
837
839
838
840
- class StringWidgetWrapper (WidgetWrapper ):
839
+ class StringWidgetWrapper (WidgetWrapper , ExpressionWidgetWrapperMixin ):
841
840
842
841
def createWidget (self ):
843
842
if self .dialogType == DIALOG_STANDARD :
844
843
if self .param .multiline :
845
844
widget = QPlainTextEdit ()
846
- if self .param .default :
847
- widget .setPlainText (self .param .default )
848
845
else :
849
- widget = StringInputPanel ( self . param )
850
- if self .param . default :
851
- widget . setValue ( self . param . default )
846
+ self . _lineedit = QLineEdit ( )
847
+ return self .wrapWithExpressionButton ( self . _lineedit )
848
+
852
849
elif self .dialogType == DIALOG_BATCH :
853
850
widget = QLineEdit ()
854
- if self .param .default :
855
- widget .setText (self .param .default )
851
+
856
852
else :
857
853
# strings, numbers, files and table fields are all allowed input types
858
854
strings = self .dialog .getAvailableValuesOfType ([ParameterString , ParameterNumber , ParameterFile ,
859
855
ParameterTableField , ParameterExpression ], OutputString )
860
856
options = [(self .dialog .resolveValueDescription (s ), s ) for s in strings ]
861
857
if self .param .multiline :
862
858
widget = MultilineTextPanel (options )
863
- widget .setText (self .param .default or "" )
864
859
else :
865
860
widget = QComboBox ()
866
861
widget .setEditable (True )
867
862
for desc , val in options :
868
863
widget .addItem (desc , val )
869
- widget .setEditText (self .param .default or "" )
870
864
return widget
871
865
872
866
def setValue (self , value ):
873
867
if self .dialogType == DIALOG_STANDARD :
874
- pass # TODO
868
+ if self .param .multiline :
869
+ self .widget .setPlainText (value )
870
+ else :
871
+ self ._lineedit .setText (value )
872
+
875
873
elif self .dialogType == DIALOG_BATCH :
876
874
self .widget .setText (value )
875
+
877
876
else :
878
877
if self .param .multiline :
879
878
self .widget .setValue (value )
@@ -885,10 +884,12 @@ def value(self):
885
884
if self .param .multiline :
886
885
text = self .widget .toPlainText ()
887
886
else :
888
- text = self .widget . getValue ()
887
+ text = self ._lineedit . text ()
889
888
return text
889
+
890
890
elif self .dialogType == DIALOG_BATCH :
891
891
return self .widget .text ()
892
+
892
893
else :
893
894
if self .param .multiline :
894
895
value = self .widget .getValue ()
0 commit comments