From 39ff487ca8df669fd719ceee22b65fff1d2f0d22 Mon Sep 17 00:00:00 2001 From: Anne Marije v/d Meer Date: Tue, 1 Apr 2014 16:38:12 +0200 Subject: [PATCH] add python api to set flags Clean up unwanted changes caused by IDE extension -.- Reworked implementation --- .../pfPython/pyGUIControlTextBox.cpp | 30 +++++++++++++++++++ .../FeatureLib/pfPython/pyGUIControlTextBox.h | 2 ++ .../pfPython/pyGUIControlTextBoxGlue.cpp | 19 ++++++++++++ 3 files changed, 51 insertions(+) diff --git a/MOULOpenSourceClientPlugin/Plasma20/Sources/Plasma/FeatureLib/pfPython/pyGUIControlTextBox.cpp b/MOULOpenSourceClientPlugin/Plasma20/Sources/Plasma/FeatureLib/pfPython/pyGUIControlTextBox.cpp index ff625fe9..961a8f81 100644 --- a/MOULOpenSourceClientPlugin/Plasma20/Sources/Plasma/FeatureLib/pfPython/pyGUIControlTextBox.cpp +++ b/MOULOpenSourceClientPlugin/Plasma20/Sources/Plasma/FeatureLib/pfPython/pyGUIControlTextBox.cpp @@ -214,3 +214,33 @@ UInt8 pyGUIControlTextBox::GetJustify() } return pfGUIListText::kLeftJustify; } + +void pyGUIControlTextBox::SetFontFlags(UInt8 fontFlags) +{ + if (fGCkey) + { + // get the pointer to the modifier + pfGUITextBoxMod* ptbmod = pfGUITextBoxMod::ConvertNoRef(fGCkey->ObjectIsLoaded()); + if (ptbmod) + { + pfGUIColorScheme* colorscheme = ptbmod->GetColorScheme(); + colorscheme->fFontFlags = fontFlags; + ptbmod->UpdateColorScheme(); + } + } +} + +UInt8 pyGUIControlTextBox::GetFontFlags() +{ + if (fGCkey) + { + // get the pointer to the modifier + pfGUITextBoxMod* ptbmod = pfGUITextBoxMod::ConvertNoRef(fGCkey->ObjectIsLoaded()); + if (ptbmod) + { + pfGUIColorScheme* colorscheme = ptbmod->GetColorScheme(); + return colorscheme->fFontFlags; + } + } + return 0; +} diff --git a/MOULOpenSourceClientPlugin/Plasma20/Sources/Plasma/FeatureLib/pfPython/pyGUIControlTextBox.h b/MOULOpenSourceClientPlugin/Plasma20/Sources/Plasma/FeatureLib/pfPython/pyGUIControlTextBox.h index a4e6f97a..a11076fd 100644 --- a/MOULOpenSourceClientPlugin/Plasma20/Sources/Plasma/FeatureLib/pfPython/pyGUIControlTextBox.h +++ b/MOULOpenSourceClientPlugin/Plasma20/Sources/Plasma/FeatureLib/pfPython/pyGUIControlTextBox.h @@ -88,8 +88,10 @@ public: virtual void SetForeColor( pyColor& color ); virtual void SetBackColor( pyColor& color ); virtual void SetJustify( UInt8 justify ); + virtual void SetFontFlags(UInt8 fontflags); virtual UInt8 GetJustify(); virtual PyObject* GetForeColor(); // returns pyColor + virtual UInt8 GetFontFlags(); }; #endif // _pyGUIControlTextBox_h_ diff --git a/MOULOpenSourceClientPlugin/Plasma20/Sources/Plasma/FeatureLib/pfPython/pyGUIControlTextBoxGlue.cpp b/MOULOpenSourceClientPlugin/Plasma20/Sources/Plasma/FeatureLib/pfPython/pyGUIControlTextBoxGlue.cpp index 55d7f973..6dd3ddf3 100644 --- a/MOULOpenSourceClientPlugin/Plasma20/Sources/Plasma/FeatureLib/pfPython/pyGUIControlTextBoxGlue.cpp +++ b/MOULOpenSourceClientPlugin/Plasma20/Sources/Plasma/FeatureLib/pfPython/pyGUIControlTextBoxGlue.cpp @@ -185,6 +185,23 @@ PYTHON_METHOD_DEFINITION(ptGUIControlTextBox, setStringJustify, args) PYTHON_RETURN_NONE; } +PYTHON_METHOD_DEFINITION(ptGUIControlTextBox, setFontFlags, args) +{ + unsigned char fontflags; + if (!PyArg_ParseTuple(args, "b", &fontflags)) + { + PyErr_SetString(PyExc_TypeError, "setFontFlags expects an unsigned 8-bit int"); + PYTHON_RETURN_ERROR; + } + self->fThis->SetFontFlags(fontflags); + PYTHON_RETURN_NONE; +} + +PYTHON_METHOD_DEFINITION_NOARGS(ptGUIControlTextBox, getFontFlags) +{ + return PyInt_FromLong(self->fThis->GetFontFlags()); +} + PYTHON_METHOD_DEFINITION_NOARGS(ptGUIControlTextBox, getStringJustify) { return PyInt_FromLong(self->fThis->GetJustify()); @@ -204,8 +221,10 @@ PYTHON_START_METHODS_TABLE(ptGUIControlTextBox) PYTHON_METHOD(ptGUIControlTextBox, setForeColor, "Params: color\nSets the text forecolor to 'color', which is a ptColor object."), PYTHON_METHOD(ptGUIControlTextBox, setBackColor, "Params: color\nSets the text backcolor to 'color', which is a ptColor object."), PYTHON_METHOD(ptGUIControlTextBox, setStringJustify, "Params: justify\nSets current justify"), + PYTHON_METHOD(ptGUIControlTextBox, setFontFlags, "Params: fontflags\nSets current fontflags"), PYTHON_METHOD_NOARGS(ptGUIControlTextBox, getStringJustify, "Returns current justify"), PYTHON_METHOD_NOARGS(ptGUIControlTextBox, getForeColor, "Returns the current forecolor"), + PYTHON_METHOD_NOARGS(ptGUIControlTextBox, getFontFlags, "Returns the current fontflags"), PYTHON_END_METHODS_TABLE; // Type structure definition