diff options
| author | 2016-11-30 06:52:25 -0500 | |
|---|---|---|
| committer | 2016-11-30 06:52:25 -0500 | |
| commit | 9a2cb9a2f0f0d1a3ba27aedf231fbd7eb01bcce1 (patch) | |
| tree | 0966a86462965d04c220012997f9f591108aef70 /src/modules | |
| parent | KviIrcView: Fix oversized minimum paint width when boolIrcViewWrapMargin is off (diff) | |
| download | KVIrc-9a2cb9a2f0f0d1a3ba27aedf231fbd7eb01bcce1.tar.gz KVIrc-9a2cb9a2f0f0d1a3ba27aedf231fbd7eb01bcce1.tar.bz2 KVIrc-9a2cb9a2f0f0d1a3ba27aedf231fbd7eb01bcce1.zip | |
KvsObject_widget: Add additional size functions
Diffstat (limited to 'src/modules')
| -rw-r--r-- | src/modules/objects/KvsObject_widget.cpp | 102 | ||||
| -rw-r--r-- | src/modules/objects/KvsObject_widget.h | 4 |
2 files changed, 106 insertions, 0 deletions
diff --git a/src/modules/objects/KvsObject_widget.cpp b/src/modules/objects/KvsObject_widget.cpp index 5b81be377..eb3009a2b 100644 --- a/src/modules/objects/KvsObject_widget.cpp +++ b/src/modules/objects/KvsObject_widget.cpp @@ -232,6 +232,20 @@ const char * const widgettypes_tbl[] = { Sets the maximum height of this widget to <value>. The user will not be able to resize the widget to a bigger value. This value is also used by the [class:layout]layout class[/class]. + !fn: $setFixedWidth(<value>) + Sets the fixed width of this widget to <value>. + The user will not be able to resize the widget to a smaller or a bigger + value. + !fn: $setFixedHeight(<value>) + Sets the fixed height of this widget to <value>. + The user will not be able to resize the widget to a smaller or a bigger + value. + !fn: $setFixedSize(<width>,<height>) + Sets the fixed width and height of this widget to <width> and <height>. + The user will not be able to resize the widget to a smaller or a bigger + value. + !fn: $setSizePolicy(<width_policy>,<height_policy>) + Sets the size policy of this widget. !fn: $move(<x_or_array>[,<y>]) Moves this widget to the coordinate <x> and <y> relative to its parent widget (or the desktop if this widget is a toplevel one). @@ -647,6 +661,10 @@ KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, setMinimumWidth) KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, setMinimumHeight) KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, setMaximumWidth) KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, setMaximumHeight) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, setFixedWidth) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, setFixedHeight) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, setFixedSize) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, setSizePolicy) KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, move) KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, sizeHint) KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, resize) @@ -1589,6 +1607,90 @@ KVSO_CLASS_FUNCTION(widget, setMaximumHeight) return true; } +KVSO_CLASS_FUNCTION(widget, setFixedWidth) +{ + CHECK_INTERNAL_POINTER(widget()) + kvs_int_t iW; + KVSO_PARAMETERS_BEGIN(c) + KVSO_PARAMETER("w", KVS_PT_INT, 0, iW) + KVSO_PARAMETERS_END(c) + widget()->setFixedWidth(iW); + return true; +} + +KVSO_CLASS_FUNCTION(widget, setFixedHeight) +{ + CHECK_INTERNAL_POINTER(widget()) + kvs_int_t iH; + KVSO_PARAMETERS_BEGIN(c) + KVSO_PARAMETER("h", KVS_PT_INT, 0, iH) + KVSO_PARAMETERS_END(c) + widget()->setFixedHeight(iH); + return true; +} + +KVSO_CLASS_FUNCTION(widget, setFixedSize) +{ + CHECK_INTERNAL_POINTER(widget()) + kvs_int_t iW, iH; + KVSO_PARAMETERS_BEGIN(c) + KVSO_PARAMETER("w", KVS_PT_INT, 0, iW) + KVSO_PARAMETER("h", KVS_PT_INT, 0, iH) + KVSO_PARAMETERS_END(c) + widget()->setFixedSize(iW, iH); + return true; +} + +KVSO_CLASS_FUNCTION(widget, setSizePolicy) +{ + CHECK_INTERNAL_POINTER(widget()) + QString szHorizontal, szVertical; + KVSO_PARAMETERS_BEGIN(c) + KVSO_PARAMETER("h", KVS_PT_STRING, 0, szHorizontal) + KVSO_PARAMETER("v", KVS_PT_STRING, 0, szVertical) + KVSO_PARAMETERS_END(c) + + QSizePolicy::Policy hPolicy = QSizePolicy::Preferred; + if(KviQString::equalCI(szHorizontal, "Fixed")) + hPolicy = QSizePolicy::Fixed; + else if(KviQString::equalCI(szHorizontal, "Minimum")) + hPolicy = QSizePolicy::Minimum; + else if(KviQString::equalCI(szHorizontal, "Maximum")) + hPolicy = QSizePolicy::Maximum; + else if(KviQString::equalCI(szHorizontal, "Preferred")) + hPolicy = QSizePolicy::Preferred; + else if(KviQString::equalCI(szHorizontal, "Expanding")) + hPolicy = QSizePolicy::Expanding; + else if(KviQString::equalCI(szHorizontal, "MinimumExpanding")) + hPolicy = QSizePolicy::MinimumExpanding; + else if(KviQString::equalCI(szHorizontal, "Ignored")) + hPolicy = QSizePolicy::Ignored; + else + c->warning(__tr2qs_ctx("Unknown policy '%Q'", "objects"), &szHorizontal); + + QSizePolicy::Policy vPolicy = QSizePolicy::Preferred; + if(KviQString::equalCI(szVertical, "Fixed")) + vPolicy = QSizePolicy::Fixed; + else if(KviQString::equalCI(szVertical, "Minimum")) + vPolicy = QSizePolicy::Minimum; + else if(KviQString::equalCI(szVertical, "Maximum")) + vPolicy = QSizePolicy::Maximum; + else if(KviQString::equalCI(szVertical, "Preferred")) + vPolicy = QSizePolicy::Preferred; + else if(KviQString::equalCI(szVertical, "Expanding")) + vPolicy = QSizePolicy::Expanding; + else if(KviQString::equalCI(szVertical, "MinimumExpanding")) + vPolicy = QSizePolicy::MinimumExpanding; + else if(KviQString::equalCI(szVertical, "Ignored")) + vPolicy = QSizePolicy::Ignored; + else + c->warning(__tr2qs_ctx("Unknown policy '%Q'", "objects"), &szVertical); + + widget()->setSizePolicy(hPolicy, vPolicy); + + return true; +} + KVSO_CLASS_FUNCTION(widget, move) { CHECK_INTERNAL_POINTER(widget()) diff --git a/src/modules/objects/KvsObject_widget.h b/src/modules/objects/KvsObject_widget.h index 888aae80a..4d35b34e1 100644 --- a/src/modules/objects/KvsObject_widget.h +++ b/src/modules/objects/KvsObject_widget.h @@ -100,6 +100,9 @@ protected: bool setBackgroundColor(KviKvsObjectFunctionCall * c); bool setBackgroundImage(KviKvsObjectFunctionCall * c); bool setEnabled(KviKvsObjectFunctionCall * c); + bool setFixedHeight(KviKvsObjectFunctionCall * c); + bool setFixedSize(KviKvsObjectFunctionCall * c); + bool setFixedWidth(KviKvsObjectFunctionCall * c); bool setFocus(KviKvsObjectFunctionCall * c); bool setFocusPolicy(KviKvsObjectFunctionCall * c); bool setFont(KviKvsObjectFunctionCall * c); @@ -112,6 +115,7 @@ protected: bool setMinimumWidth(KviKvsObjectFunctionCall * c); bool setMouseTracking(KviKvsObjectFunctionCall * c); bool setForegroundColor(KviKvsObjectFunctionCall * c); + bool setSizePolicy(KviKvsObjectFunctionCall * c); bool setStyleSheet(KviKvsObjectFunctionCall * c); bool setToolTip(KviKvsObjectFunctionCall *); bool setWindowIcon(KviKvsObjectFunctionCall * c); |
