3232from PySide .QtGui import *
3333from PySide .QtCore import *
3434from datetime import datetime
35- from threading import Thread
3635
3736from .container import ComponentManager
3837from ..dashboard .input import VirtualNumberInput
3938from ..misc .windpi import get_program_scale_factor
4039from .misc import SerialPortSelector , NetworkInterfaceSelector
4140from ..core .datatype import str2number , str2float , DynamicObject , DynamicObjectDecodeError
42- from ..misc .settings import UiInputSetting , UiLogMessage , UiLayout , UiFontInput , UiColorInput
41+ from ..misc .settings import UiInputSetting , UiLogMessage , UiLayout , UiFontInput , UiColorInput , \
42+ UiDoubleInput , UiIntegerInput , UiTextInput , UiFileInput
4343
4444
4545__all__ = ['BasicWidget' , 'PaintWidget' ,
@@ -2287,10 +2287,12 @@ def __initUi(self):
22872287 # QLine edit special process re check
22882288 if isinstance (widget , QLineEdit ):
22892289 widget .setSizePolicy (QSizePolicy (QSizePolicy .Preferred , QSizePolicy .Fixed ))
2290- widget .textChanged .connect (self .slotSettingChanged )
2291- widget .textChanged .connect (
2292- lambda x : self .settingChangedDetail .emit (widget .property ("data" ), x )
2293- )
2290+
2291+ if not isinstance (widget , VirtualNumberInput ):
2292+ widget .textChanged .connect (self .slotSettingChanged )
2293+ widget .textChanged .connect (
2294+ lambda x : self .settingChangedDetail .emit (widget .property ("data" ), x )
2295+ )
22942296 elif isinstance (widget , QLayout ):
22952297 # Add label and layout
22962298 layout .addWidget (QLabel (self .tr (ui_input .get_name ())), row , column )
@@ -2518,14 +2520,15 @@ def createInputWidget(setting, name=None, parent=None):
25182520 if setting .is_int_type ():
25192521 if setting .is_readonly ():
25202522 widget = VirtualNumberInput (parent = parent , initial_value = setting .get_data (),
2521- min_ = setting .get_check ()[0 ], max_ = setting .get_check ()[1 ])
2523+ min_ = setting .get_check ()[UiIntegerInput .CHECK .MIN ],
2524+ max_ = setting .get_check ()[UiIntegerInput .CHECK .MAX ])
25222525 widget .setProperty ("format" , "int" )
25232526 else :
25242527 widget = QSpinBox (parent )
2525- widget .setMinimum (setting .get_check ()[0 ])
2526- widget .setMaximum (setting .get_check ()[1 ])
2528+ widget .setMinimum (setting .get_check ()[UiIntegerInput . CHECK . MIN ])
2529+ widget .setMaximum (setting .get_check ()[UiIntegerInput . CHECK . MAX ])
25272530 widget .setValue (setting .get_data ())
2528- widget .setSingleStep (setting .get_check ()[2 ])
2531+ widget .setSingleStep (setting .get_check ()[UiIntegerInput . CHECK . STEP ])
25292532 elif setting .is_bool_type ():
25302533 widget = QCheckBox (parent = parent )
25312534 widget .setCheckable (True )
@@ -2535,25 +2538,25 @@ def createInputWidget(setting, name=None, parent=None):
25352538 widget .setText (setting .get_data ())
25362539 widget .setPlaceholderText (setting .get_default ())
25372540 # Set regular expression and max length
2538- widget .setProperty ("filter" , setting .check [0 ])
2539- widget .setValidator (QRegExpValidator (QRegExp (setting .check [0 ])))
2540- widget .setMaxLength (setting .check [1 ])
2541+ widget .setProperty ("filter" , setting .check [UiTextInput . CHECK . REGEXP ])
2542+ widget .setValidator (QRegExpValidator (QRegExp (setting .check [UiTextInput . CHECK . REGEXP ])))
2543+ widget .setMaxLength (setting .check [UiTextInput . CHECK . LENGTH ])
25412544 elif setting .is_float_type ():
25422545 if setting .is_readonly ():
25432546 widget = VirtualNumberInput (parent = parent ,
25442547 initial_value = setting .get_data (),
2545- min_ = setting .get_check ()[0 ],
2546- max_ = setting .get_check ()[1 ],
2547- decimals = setting .get_check ()[2 ])
2548+ min_ = setting .get_check ()[UiDoubleInput . CHECK . MIN ],
2549+ max_ = setting .get_check ()[UiDoubleInput . CHECK . MAX ],
2550+ decimals = setting .get_check ()[UiDoubleInput . CHECK . DECIMALS ])
25482551 widget .setProperty ("format" , "float" )
25492552 else :
25502553 widget = QDoubleSpinBox (parent )
2551- widget .setMinimum (setting .get_check ()[0 ])
2552- widget .setMaximum (setting .get_check ()[1 ])
2554+ widget .setMinimum (setting .get_check ()[UiDoubleInput . CHECK . MIN ])
2555+ widget .setMaximum (setting .get_check ()[UiDoubleInput . CHECK . MAX ])
25532556 widget .setValue (setting .get_data ())
2554- widget .setSingleStep (setting .get_check ()[2 ])
2555- if len (setting .get_check ()) > 3 :
2556- widget .setDecimals (setting .get_check ()[3 ])
2557+ widget .setSingleStep (setting .get_check ()[UiDoubleInput . CHECK . STEP ])
2558+ if len (setting .get_check ()) > UiDoubleInput . CHECK . DECIMALS :
2559+ widget .setDecimals (setting .get_check ()[UiDoubleInput . CHECK . DECIMALS ])
25572560 elif setting .is_select_type ():
25582561 widget = QComboBox (parent )
25592562 widget .addItems (setting .get_check ())
@@ -2625,14 +2628,14 @@ def createInputWidget(setting, name=None, parent=None):
26252628 "Enable" , None ,
26262629 QApplication .UnicodeUTF8 ), parent = parent )
26272630 enable .setProperty ("data" , JsonSettingWidget .get_file_input_enable_key (name ))
2628- enable .setVisible (setting .get_check ()[- 1 ] == str (True ))
2631+ enable .setVisible (setting .get_check ()[UiFileInput . CHECK_SELECTABLE ] == str (True ))
26292632
26302633 button = QPushButton (QApplication .translate ("JsonSettingWidget" ,
26312634 "Please Select File" ,
26322635 None , QApplication .UnicodeUTF8 ), parent = parent )
26332636 button .setProperty ("clicked" , "file" )
26342637 button .setProperty ("title" , setting .get_name ())
2635- button .setProperty ("private" , setting .get_check ()[:- 1 ])
2638+ button .setProperty ("private" , setting .get_check ()[:UiFileInput . CHECK_SELECTABLE ])
26362639
26372640 layout = QHBoxLayout ()
26382641 layout .addWidget (enable )
0 commit comments