Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
core
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
LibreOffice
core
Commits
6799ec80
Kaydet (Commit)
6799ec80
authored
Eki 06, 2012
tarafından
Caolán McNamara
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
import GtkScrollbar as scrollbars and connect GtkAdjustments
Change-Id: Idef8a338f09b52cf0758a6a35e3b5bbcc96a7383
üst
9897942d
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
73 additions
and
11 deletions
+73
-11
builder.hxx
vcl/inc/vcl/builder.hxx
+8
-4
builder.cxx
vcl/source/window/builder.cxx
+65
-7
No files found.
vcl/inc/vcl/builder.hxx
Dosyayı görüntüle @
6799ec80
...
...
@@ -19,6 +19,7 @@
class
ListBox
;
class
NumericFormatter
;
class
ScrollBar
;
class
VCL_DLLPUBLIC
VclBuilder
{
...
...
@@ -90,10 +91,11 @@ private:
}
};
typedef
StringPair
SpinButton
AdjustmentMap
;
typedef
StringPair
Widget
AdjustmentMap
;
Adjustment
*
get_adjustment_by_name
(
OString
sID
);
static
void
mungeadjustment
(
NumericFormatter
&
rTarget
,
Adjustment
&
rAdjustment
);
static
void
mungeSpinAdjustment
(
NumericFormatter
&
rTarget
,
Adjustment
&
rAdjustment
);
static
void
mungeScrollAdjustment
(
ScrollBar
&
rTarget
,
Adjustment
&
rAdjustment
);
typedef
std
::
map
<
OString
,
OString
>
WidgetTranslations
;
typedef
std
::
map
<
OString
,
WidgetTranslations
>
Translations
;
...
...
@@ -105,7 +107,8 @@ private:
std
::
vector
<
ComboBoxModelMap
>
m_aModelMaps
;
std
::
vector
<
ModelAndId
>
m_aModels
;
std
::
vector
<
AdjustmentAndId
>
m_aAdjustments
;
std
::
vector
<
SpinButtonAdjustmentMap
>
m_aAdjustmentMaps
;
std
::
vector
<
WidgetAdjustmentMap
>
m_aSpinAdjustmentMaps
;
std
::
vector
<
WidgetAdjustmentMap
>
m_aScrollAdjustmentMaps
;
std
::
vector
<
ButtonImageWidgetMap
>
m_aButtonImageWidgetMaps
;
StockMap
m_aStockMap
;
Translations
m_aTranslations
;
...
...
@@ -179,7 +182,8 @@ private:
Window
*
makeObject
(
Window
*
pParent
,
const
OString
&
rClass
,
const
OString
&
rID
,
stringmap
&
rVec
);
bool
extractGroup
(
const
OString
&
id
,
stringmap
&
rVec
);
bool
extractModel
(
const
OString
&
id
,
stringmap
&
rVec
);
bool
extractAdjustment
(
const
OString
&
id
,
stringmap
&
rVec
);
bool
extractSpinAdjustment
(
const
OString
&
id
,
stringmap
&
rVec
);
bool
extractScrollAdjustment
(
const
OString
&
id
,
stringmap
&
rVec
);
bool
extractImage
(
const
OString
&
id
,
stringmap
&
rMap
);
bool
extractStock
(
const
OString
&
id
,
stringmap
&
rMap
);
...
...
vcl/source/window/builder.cxx
Dosyayı görüntüle @
6799ec80
...
...
@@ -18,6 +18,7 @@
#include <vcl/layout.hxx>
#include <vcl/lstbox.hxx>
#include <vcl/menubtn.hxx>
#include <vcl/scrbar.hxx>
#include <vcl/svapp.hxx>
#include <vcl/tabctrl.hxx>
#include <vcl/tabpage.hxx>
...
...
@@ -130,14 +131,25 @@ VclBuilder::VclBuilder(Window *pParent, OUString sUIDir, OUString sUIFile, OStri
}
//Set SpinButton adjustments when everything has been imported
for
(
std
::
vector
<
SpinButtonAdjustmentMap
>::
iterator
aI
=
m_pParserState
->
m_a
AdjustmentMaps
.
begin
(),
aEnd
=
m_pParserState
->
m_aAdjustmentMaps
.
end
();
aI
!=
aEnd
;
++
aI
)
for
(
std
::
vector
<
WidgetAdjustmentMap
>::
iterator
aI
=
m_pParserState
->
m_aSpin
AdjustmentMaps
.
begin
(),
aEnd
=
m_pParserState
->
m_a
Spin
AdjustmentMaps
.
end
();
aI
!=
aEnd
;
++
aI
)
{
NumericFormatter
*
pTarget
=
dynamic_cast
<
NumericFormatter
*>
(
get
<
Window
>
(
aI
->
m_sID
));
Adjustment
*
pAdjustment
=
get_adjustment_by_name
(
aI
->
m_sValue
);
SAL_WARN_IF
(
!
pTarget
||
!
pAdjustment
,
"vcl"
,
"missing elements of spinbutton/adjustment"
);
if
(
pTarget
&&
pAdjustment
)
mungeadjustment
(
*
pTarget
,
*
pAdjustment
);
mungeSpinAdjustment
(
*
pTarget
,
*
pAdjustment
);
}
//Set ScrollBar adjustments when everything has been imported
for
(
std
::
vector
<
WidgetAdjustmentMap
>::
iterator
aI
=
m_pParserState
->
m_aScrollAdjustmentMaps
.
begin
(),
aEnd
=
m_pParserState
->
m_aScrollAdjustmentMaps
.
end
();
aI
!=
aEnd
;
++
aI
)
{
ScrollBar
*
pTarget
=
get
<
ScrollBar
>
(
aI
->
m_sID
);
Adjustment
*
pAdjustment
=
get_adjustment_by_name
(
aI
->
m_sValue
);
SAL_WARN_IF
(
!
pTarget
||
!
pAdjustment
,
"vcl"
,
"missing elements of scrollbar/adjustment"
);
if
(
pTarget
&&
pAdjustment
)
mungeScrollAdjustment
(
*
pTarget
,
*
pAdjustment
);
}
//Set button images when everything has been imported
...
...
@@ -430,18 +442,31 @@ bool VclBuilder::extractGroup(const OString &id, stringmap &rMap)
return
false
;
}
bool
VclBuilder
::
extractAdjustment
(
const
OString
&
id
,
stringmap
&
rMap
)
bool
VclBuilder
::
extract
Spin
Adjustment
(
const
OString
&
id
,
stringmap
&
rMap
)
{
VclBuilder
::
stringmap
::
iterator
aFind
=
rMap
.
find
(
OString
(
"adjustment"
));
if
(
aFind
!=
rMap
.
end
())
{
m_pParserState
->
m_a
AdjustmentMaps
.
push_back
(
SpinButton
AdjustmentMap
(
id
,
aFind
->
second
));
m_pParserState
->
m_a
SpinAdjustmentMaps
.
push_back
(
Widget
AdjustmentMap
(
id
,
aFind
->
second
));
rMap
.
erase
(
aFind
);
return
true
;
}
return
false
;
}
bool
VclBuilder
::
extractScrollAdjustment
(
const
OString
&
id
,
stringmap
&
rMap
)
{
VclBuilder
::
stringmap
::
iterator
aFind
=
rMap
.
find
(
OString
(
"adjustment"
));
if
(
aFind
!=
rMap
.
end
())
{
m_pParserState
->
m_aScrollAdjustmentMaps
.
push_back
(
WidgetAdjustmentMap
(
id
,
aFind
->
second
));
rMap
.
erase
(
aFind
);
return
true
;
}
return
false
;
}
bool
VclBuilder
::
extractModel
(
const
OString
&
id
,
stringmap
&
rMap
)
{
VclBuilder
::
stringmap
::
iterator
aFind
=
rMap
.
find
(
OString
(
"model"
));
...
...
@@ -580,7 +605,7 @@ Window *VclBuilder::makeObject(Window *pParent, const OString &name, const OStri
}
else
if
(
name
==
"GtkSpinButton"
)
{
extractAdjustment
(
id
,
rMap
);
extract
Spin
Adjustment
(
id
,
rMap
);
OString
sPattern
=
extractPattern
(
rMap
);
OString
sUnit
=
sPattern
;
...
...
@@ -656,6 +681,14 @@ Window *VclBuilder::makeObject(Window *pParent, const OString &name, const OStri
else
pWindow
=
new
FixedLine
(
pParent
,
WB_HORZ
);
}
else
if
(
name
==
"GtkScrollbar"
)
{
extractScrollAdjustment
(
id
,
rMap
);
if
(
extractOrientation
(
rMap
))
pWindow
=
new
ScrollBar
(
pParent
,
WB_VERT
);
else
pWindow
=
new
ScrollBar
(
pParent
,
WB_HORZ
);
}
else
if
(
name
==
"GtkEntry"
)
{
pWindow
=
new
Edit
(
pParent
,
WB_LEFT
|
WB_VCENTER
|
WB_BORDER
|
WB_3DLOOK
);
...
...
@@ -1479,7 +1512,7 @@ void VclBuilder::mungemodel(ListBox &rTarget, ListStore &rStore)
rTarget
.
SelectEntryPos
(
0
);
}
void
VclBuilder
::
munge
a
djustment
(
NumericFormatter
&
rTarget
,
Adjustment
&
rAdjustment
)
void
VclBuilder
::
munge
SpinA
djustment
(
NumericFormatter
&
rTarget
,
Adjustment
&
rAdjustment
)
{
int
nMul
=
rtl_math_pow10Exp
(
1
,
rTarget
.
GetDecimalDigits
());
...
...
@@ -1517,4 +1550,29 @@ void VclBuilder::mungeadjustment(NumericFormatter &rTarget, Adjustment &rAdjustm
}
}
void
VclBuilder
::
mungeScrollAdjustment
(
ScrollBar
&
rTarget
,
Adjustment
&
rAdjustment
)
{
for
(
stringmap
::
iterator
aI
=
rAdjustment
.
begin
(),
aEnd
=
rAdjustment
.
end
();
aI
!=
aEnd
;
++
aI
)
{
const
OString
&
rKey
=
aI
->
first
;
const
OString
&
rValue
=
aI
->
second
;
if
(
rKey
==
"upper"
)
rTarget
.
SetRangeMax
(
rValue
.
toInt32
());
else
if
(
rKey
==
"lower"
)
rTarget
.
SetRangeMin
(
rValue
.
toInt32
());
else
if
(
rKey
==
"value"
)
rTarget
.
SetThumbPos
(
rValue
.
toInt32
());
else
if
(
rKey
==
"step-increment"
)
rTarget
.
SetLineSize
(
rValue
.
toInt32
());
else
if
(
rKey
==
"page-increment"
)
rTarget
.
SetPageSize
(
rValue
.
toInt32
());
else
{
SAL_INFO
(
"vcl.layout"
,
"unhandled property :"
<<
rKey
.
getStr
());
}
}
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment