summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2012-08-29 15:06:48 +0100
committerCaolán McNamara <caolanm@redhat.com>2012-09-28 08:48:40 +0100
commit70c7afadf867a2609b395804c117c7a66090529f (patch)
tree7146b15ebea45d87bbf24fa9272e51deafc7e3b8 /vcl
parentfc86fdf6b44ae6814e99dd3b5e878191d63c16a0 (diff)
We need to distinguish NumericFields from MetricFields
In the future I'm hoping we can get some gtk3-side support for patterns for GtkSpinButtons or such such. In the meamtime overload that info into the name Change-Id: I20464e3ddafb710dd7330fc038bb9330b852410a
Diffstat (limited to 'vcl')
-rw-r--r--vcl/source/window/builder.cxx21
1 files changed, 20 insertions, 1 deletions
diff --git a/vcl/source/window/builder.cxx b/vcl/source/window/builder.cxx
index fdf6a49cb10c..c2f987d943dd 100644
--- a/vcl/source/window/builder.cxx
+++ b/vcl/source/window/builder.cxx
@@ -170,6 +170,9 @@ void VclBuilder::handleTranslations(xmlreader::XmlReader &reader)
{
name = reader.getAttributeValue(false);
sID = rtl::OString(name.begin, name.length);
+ sal_Int32 nDelim = sID.indexOf(':');
+ if (nDelim != -1)
+ sID = sID.copy(nDelim);
}
else if (name.equals(RTL_CONSTASCII_STRINGPARAM("i")))
{
@@ -613,6 +616,13 @@ void VclBuilder::handleTabChild(Window *pParent, xmlreader::XmlReader &reader)
{
name = reader.getAttributeValue(false);
sID = rtl::OString(name.begin, name.length);
+ sal_Int32 nDelim = sID.indexOf(':');
+ if (nDelim != -1)
+ {
+ rtl::OString sPattern = sID.copy(nDelim+1);
+ aProperties[rtl::OString("pattern")] = sPattern;
+ sID = sID.copy(0, nDelim);
+ }
}
}
}
@@ -825,6 +835,7 @@ Window* VclBuilder::handleObject(Window *pParent, xmlreader::XmlReader &reader)
{
rtl::OString sClass;
rtl::OString sID;
+ rtl::OString sPattern;
xmlreader::Span name;
int nsId;
@@ -840,8 +851,13 @@ Window* VclBuilder::handleObject(Window *pParent, xmlreader::XmlReader &reader)
{
name = reader.getAttributeValue(false);
sID = rtl::OString(name.begin, name.length);
+ sal_Int32 nDelim = sID.indexOf(':');
+ if (nDelim != -1)
+ {
+ sPattern = sID.copy(nDelim+1);
+ sID = sID.copy(0, nDelim);
+ }
}
-
}
if (sClass.equalsL(RTL_CONSTASCII_STRINGPARAM("GtkListStore")))
@@ -854,6 +870,9 @@ Window* VclBuilder::handleObject(Window *pParent, xmlreader::XmlReader &reader)
stringmap aProperties;
+ if (!sPattern.isEmpty())
+ aProperties[rtl::OString("pattern")] = sPattern;
+
Window *pCurrentChild = NULL;
while(1)
{