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
c6349747
Kaydet (Commit)
c6349747
authored
Mar 22, 2015
tarafından
Tomaž Vajngerl
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
vcl: add initial support for GtkScale (as Slider) to VclBuilder
Change-Id: I5c987a3b1ca39c8d382ba775bab762f030496bf5
üst
16c79edb
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
99 additions
and
5 deletions
+99
-5
builder.hxx
include/vcl/builder.hxx
+5
-1
slider.hxx
include/vcl/slider.hxx
+2
-0
slider.cxx
vcl/source/control/slider.cxx
+10
-0
builder.cxx
vcl/source/window/builder.cxx
+82
-4
No files found.
include/vcl/builder.hxx
Dosyayı görüntüle @
c6349747
...
@@ -33,6 +33,7 @@ class ListBox;
...
@@ -33,6 +33,7 @@ class ListBox;
class
NumericFormatter
;
class
NumericFormatter
;
class
PopupMenu
;
class
PopupMenu
;
class
ScrollBar
;
class
ScrollBar
;
class
Slider
;
class
DateField
;
class
DateField
;
class
TimeField
;
class
TimeField
;
class
VclExpander
;
class
VclExpander
;
...
@@ -236,6 +237,7 @@ private:
...
@@ -236,6 +237,7 @@ private:
static
void
mungeAdjustment
(
DateField
&
rTarget
,
const
Adjustment
&
rAdjustment
);
static
void
mungeAdjustment
(
DateField
&
rTarget
,
const
Adjustment
&
rAdjustment
);
static
void
mungeAdjustment
(
TimeField
&
rTarget
,
const
Adjustment
&
rAdjustment
);
static
void
mungeAdjustment
(
TimeField
&
rTarget
,
const
Adjustment
&
rAdjustment
);
static
void
mungeAdjustment
(
ScrollBar
&
rTarget
,
const
Adjustment
&
rAdjustment
);
static
void
mungeAdjustment
(
ScrollBar
&
rTarget
,
const
Adjustment
&
rAdjustment
);
static
void
mungeAdjustment
(
Slider
&
rTarget
,
const
Adjustment
&
rAdjustment
);
typedef
std
::
map
<
OString
,
OString
>
WidgetTranslations
;
typedef
std
::
map
<
OString
,
OString
>
WidgetTranslations
;
typedef
std
::
map
<
OString
,
WidgetTranslations
>
Translations
;
typedef
std
::
map
<
OString
,
WidgetTranslations
>
Translations
;
...
@@ -276,6 +278,8 @@ private:
...
@@ -276,6 +278,8 @@ private:
std
::
vector
<
WidgetAdjustmentMap
>
m_aTimeFormatterAdjustmentMaps
;
std
::
vector
<
WidgetAdjustmentMap
>
m_aTimeFormatterAdjustmentMaps
;
std
::
vector
<
WidgetAdjustmentMap
>
m_aDateFormatterAdjustmentMaps
;
std
::
vector
<
WidgetAdjustmentMap
>
m_aDateFormatterAdjustmentMaps
;
std
::
vector
<
WidgetAdjustmentMap
>
m_aScrollAdjustmentMaps
;
std
::
vector
<
WidgetAdjustmentMap
>
m_aScrollAdjustmentMaps
;
std
::
vector
<
WidgetAdjustmentMap
>
m_aSliderAdjustmentMaps
;
std
::
map
<
OString
,
Adjustment
>
m_aAdjustments
;
std
::
map
<
OString
,
Adjustment
>
m_aAdjustments
;
std
::
vector
<
ButtonImageWidgetMap
>
m_aButtonImageWidgetMaps
;
std
::
vector
<
ButtonImageWidgetMap
>
m_aButtonImageWidgetMaps
;
...
@@ -350,7 +354,7 @@ private:
...
@@ -350,7 +354,7 @@ private:
bool
extractGroup
(
const
OString
&
id
,
stringmap
&
rVec
);
bool
extractGroup
(
const
OString
&
id
,
stringmap
&
rVec
);
bool
extractModel
(
const
OString
&
id
,
stringmap
&
rVec
);
bool
extractModel
(
const
OString
&
id
,
stringmap
&
rVec
);
bool
extractBuffer
(
const
OString
&
id
,
stringmap
&
rVec
);
bool
extractBuffer
(
const
OString
&
id
,
stringmap
&
rVec
);
bool
extract
ScrollAdjustment
(
const
OString
&
id
,
stringmap
&
rVec
);
bool
extract
AdjustmentToMap
(
const
OString
&
id
,
stringmap
&
rVec
,
std
::
vector
<
WidgetAdjustmentMap
>&
rAdjustmentMap
);
bool
extractButtonImage
(
const
OString
&
id
,
stringmap
&
rMap
,
bool
bRadio
);
bool
extractButtonImage
(
const
OString
&
id
,
stringmap
&
rMap
,
bool
bRadio
);
bool
extractStock
(
const
OString
&
id
,
stringmap
&
rMap
);
bool
extractStock
(
const
OString
&
id
,
stringmap
&
rMap
);
void
extractMnemonicWidget
(
const
OString
&
id
,
stringmap
&
rMap
);
void
extractMnemonicWidget
(
const
OString
&
id
,
stringmap
&
rMap
);
...
...
include/vcl/slider.hxx
Dosyayı görüntüle @
c6349747
...
@@ -90,7 +90,9 @@ public:
...
@@ -90,7 +90,9 @@ public:
{
mbFullDrag
=
bEnable
;
}
{
mbFullDrag
=
bEnable
;
}
bool
IsDragEnabled
()
const
{
return
mbFullDrag
;
}
bool
IsDragEnabled
()
const
{
return
mbFullDrag
;
}
void
SetRangeMin
(
long
nNewRange
);
long
GetRangeMin
()
const
{
return
mnMinRange
;
}
long
GetRangeMin
()
const
{
return
mnMinRange
;
}
void
SetRangeMax
(
long
nNewRange
);
long
GetRangeMax
()
const
{
return
mnMaxRange
;
}
long
GetRangeMax
()
const
{
return
mnMaxRange
;
}
void
SetRange
(
const
Range
&
rRange
);
void
SetRange
(
const
Range
&
rRange
);
Range
GetRange
()
const
{
return
Range
(
GetRangeMin
(),
GetRangeMax
()
);
}
Range
GetRange
()
const
{
return
Range
(
GetRangeMin
(),
GetRangeMax
()
);
}
...
...
vcl/source/control/slider.cxx
Dosyayı görüntüle @
c6349747
...
@@ -893,6 +893,16 @@ void Slider::EndSlide()
...
@@ -893,6 +893,16 @@ void Slider::EndSlide()
maEndSlideHdl
.
Call
(
this
);
maEndSlideHdl
.
Call
(
this
);
}
}
void
Slider
::
SetRangeMin
(
long
nNewRange
)
{
SetRange
(
Range
(
nNewRange
,
GetRangeMax
()));
}
void
Slider
::
SetRangeMax
(
long
nNewRange
)
{
SetRange
(
Range
(
GetRangeMin
(),
nNewRange
));
}
void
Slider
::
SetRange
(
const
Range
&
rRange
)
void
Slider
::
SetRange
(
const
Range
&
rRange
)
{
{
// adjust Range
// adjust Range
...
...
vcl/source/window/builder.cxx
Dosyayı görüntüle @
c6349747
...
@@ -42,6 +42,7 @@
...
@@ -42,6 +42,7 @@
#include <vcl/toolbox.hxx>
#include <vcl/toolbox.hxx>
#include <vcl/vclmedit.hxx>
#include <vcl/vclmedit.hxx>
#include <vcl/settings.hxx>
#include <vcl/settings.hxx>
#include <vcl/slider.hxx>
#include <svdata.hxx>
#include <svdata.hxx>
#include <svids.hrc>
#include <svids.hrc>
#include <window.h>
#include <window.h>
...
@@ -334,6 +335,20 @@ VclBuilder::VclBuilder(vcl::Window *pParent, const OUString& sUIDir, const OUStr
...
@@ -334,6 +335,20 @@ VclBuilder::VclBuilder(vcl::Window *pParent, const OUString& sUIDir, const OUStr
mungeAdjustment
(
*
pTarget
,
*
pAdjustment
);
mungeAdjustment
(
*
pTarget
,
*
pAdjustment
);
}
}
//Set Scale(Slider) adjustments
std
::
vector
<
WidgetAdjustmentMap
>::
iterator
aIterator
;
for
(
aIterator
=
m_pParserState
->
m_aSliderAdjustmentMaps
.
begin
();
aIterator
!=
m_pParserState
->
m_aSliderAdjustmentMaps
.
end
();
++
aIterator
)
{
Slider
*
pTarget
=
dynamic_cast
<
Slider
*>
(
get
<
vcl
::
Window
>
(
aIterator
->
m_sID
));
const
Adjustment
*
pAdjustment
=
get_adjustment_by_name
(
aIterator
->
m_sValue
);
SAL_WARN_IF
(
!
pTarget
||
!
pAdjustment
,
"vcl"
,
"missing elements of scale(slider)/adjustment"
);
if
(
pTarget
&&
pAdjustment
)
{
mungeAdjustment
(
*
pTarget
,
*
pAdjustment
);
}
}
//Set size-groups when all widgets have been imported
//Set size-groups when all widgets have been imported
for
(
std
::
vector
<
SizeGroup
>::
iterator
aI
=
m_pParserState
->
m_aSizeGroups
.
begin
(),
for
(
std
::
vector
<
SizeGroup
>::
iterator
aI
=
m_pParserState
->
m_aSizeGroups
.
begin
(),
aEnd
=
m_pParserState
->
m_aSizeGroups
.
end
();
aI
!=
aEnd
;
++
aI
)
aEnd
=
m_pParserState
->
m_aSizeGroups
.
end
();
aI
!=
aEnd
;
++
aI
)
...
@@ -586,6 +601,30 @@ OString VclBuilder::extractCustomProperty(VclBuilder::stringmap &rMap)
...
@@ -586,6 +601,30 @@ OString VclBuilder::extractCustomProperty(VclBuilder::stringmap &rMap)
namespace
namespace
{
{
bool
extractDrawValue
(
VclBuilder
::
stringmap
&
rMap
)
{
bool
bDrawValue
=
true
;
VclBuilder
::
stringmap
::
iterator
aFind
=
rMap
.
find
(
OString
(
"draw_value"
));
if
(
aFind
!=
rMap
.
end
())
{
bDrawValue
=
toBool
(
aFind
->
second
);
rMap
.
erase
(
aFind
);
}
return
bDrawValue
;
}
OString
extractValuePos
(
VclBuilder
::
stringmap
&
rMap
)
{
OString
sRet
(
"top"
);
VclBuilder
::
stringmap
::
iterator
aFind
=
rMap
.
find
(
OString
(
"value_pos"
));
if
(
aFind
!=
rMap
.
end
())
{
sRet
=
aFind
->
second
;
rMap
.
erase
(
aFind
);
}
return
sRet
;
}
OString
extractTypeHint
(
VclBuilder
::
stringmap
&
rMap
)
OString
extractTypeHint
(
VclBuilder
::
stringmap
&
rMap
)
{
{
OString
sRet
(
"normal"
);
OString
sRet
(
"normal"
);
...
@@ -1054,12 +1093,12 @@ void VclBuilder::connectDateFormatterAdjustment(const OString &id, const OString
...
@@ -1054,12 +1093,12 @@ void VclBuilder::connectDateFormatterAdjustment(const OString &id, const OString
m_pParserState
->
m_aDateFormatterAdjustmentMaps
.
push_back
(
WidgetAdjustmentMap
(
id
,
rAdjustment
));
m_pParserState
->
m_aDateFormatterAdjustmentMaps
.
push_back
(
WidgetAdjustmentMap
(
id
,
rAdjustment
));
}
}
bool
VclBuilder
::
extract
ScrollAdjustment
(
const
OString
&
id
,
VclBuilder
::
stringmap
&
r
Map
)
bool
VclBuilder
::
extract
AdjustmentToMap
(
const
OString
&
id
,
VclBuilder
::
stringmap
&
rMap
,
std
::
vector
<
WidgetAdjustmentMap
>&
rAdjustment
Map
)
{
{
VclBuilder
::
stringmap
::
iterator
aFind
=
rMap
.
find
(
OString
(
"adjustment"
));
VclBuilder
::
stringmap
::
iterator
aFind
=
rMap
.
find
(
OString
(
"adjustment"
));
if
(
aFind
!=
rMap
.
end
())
if
(
aFind
!=
rMap
.
end
())
{
{
m_pParserState
->
m_aScrollAdjustmentMaps
.
push_back
(
WidgetAdjustmentMap
(
id
,
aFind
->
second
));
rAdjustmentMap
.
push_back
(
WidgetAdjustmentMap
(
id
,
aFind
->
second
));
rMap
.
erase
(
aFind
);
rMap
.
erase
(
aFind
);
return
true
;
return
true
;
}
}
...
@@ -1540,7 +1579,7 @@ vcl::Window *VclBuilder::makeObject(vcl::Window *pParent, const OString &name, c
...
@@ -1540,7 +1579,7 @@ vcl::Window *VclBuilder::makeObject(vcl::Window *pParent, const OString &name, c
}
}
else
if
(
name
==
"GtkScrollbar"
)
else
if
(
name
==
"GtkScrollbar"
)
{
{
extract
ScrollAdjustment
(
id
,
rMap
);
extract
AdjustmentToMap
(
id
,
rMap
,
m_pParserState
->
m_aScrollAdjustmentMaps
);
bVertical
=
extractOrientation
(
rMap
);
bVertical
=
extractOrientation
(
rMap
);
if
(
bVertical
)
if
(
bVertical
)
pWindow
=
new
ScrollBar
(
pParent
,
WB_VERT
);
pWindow
=
new
ScrollBar
(
pParent
,
WB_VERT
);
...
@@ -1549,7 +1588,7 @@ vcl::Window *VclBuilder::makeObject(vcl::Window *pParent, const OString &name, c
...
@@ -1549,7 +1588,7 @@ vcl::Window *VclBuilder::makeObject(vcl::Window *pParent, const OString &name, c
}
}
else
if
(
name
==
"GtkProgressBar"
)
else
if
(
name
==
"GtkProgressBar"
)
{
{
extract
ScrollAdjustment
(
id
,
rMap
);
extract
AdjustmentToMap
(
id
,
rMap
,
m_pParserState
->
m_aScrollAdjustmentMaps
);
bVertical
=
extractOrientation
(
rMap
);
bVertical
=
extractOrientation
(
rMap
);
if
(
bVertical
)
if
(
bVertical
)
pWindow
=
new
ProgressBar
(
pParent
,
WB_VERT
);
pWindow
=
new
ProgressBar
(
pParent
,
WB_VERT
);
...
@@ -1598,6 +1637,21 @@ vcl::Window *VclBuilder::makeObject(vcl::Window *pParent, const OString &name, c
...
@@ -1598,6 +1637,21 @@ vcl::Window *VclBuilder::makeObject(vcl::Window *pParent, const OString &name, c
{
{
pWindow
=
new
Throbber
(
pParent
,
WB_3DLOOK
);
pWindow
=
new
Throbber
(
pParent
,
WB_3DLOOK
);
}
}
else
if
(
name
==
"GtkScale"
)
{
extractAdjustmentToMap
(
id
,
rMap
,
m_pParserState
->
m_aSliderAdjustmentMaps
);
bool
bDrawValue
=
extractDrawValue
(
rMap
);
if
(
bDrawValue
)
{
OString
sValuePos
=
extractValuePos
(
rMap
);
(
void
)
sValuePos
;
}
bVertical
=
extractOrientation
(
rMap
);
WinBits
nWinStyle
=
bVertical
?
WB_VERT
:
WB_HORZ
;
pWindow
=
new
Slider
(
pParent
,
nWinStyle
);
}
else
if
(
name
==
"GtkToolbar"
)
else
if
(
name
==
"GtkToolbar"
)
{
{
pWindow
=
new
ToolBox
(
pParent
,
WB_3DLOOK
|
WB_TABSTOP
);
pWindow
=
new
ToolBox
(
pParent
,
WB_3DLOOK
|
WB_TABSTOP
);
...
@@ -3457,6 +3511,30 @@ void VclBuilder::mungeAdjustment(ScrollBar &rTarget, const Adjustment &rAdjustme
...
@@ -3457,6 +3511,30 @@ void VclBuilder::mungeAdjustment(ScrollBar &rTarget, const Adjustment &rAdjustme
}
}
}
}
void
VclBuilder
::
mungeAdjustment
(
Slider
&
rTarget
,
const
Adjustment
&
rAdjustment
)
{
for
(
stringmap
::
const_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
());
}
}
}
void
VclBuilder
::
mungeTextBuffer
(
VclMultiLineEdit
&
rTarget
,
const
TextBuffer
&
rTextBuffer
)
void
VclBuilder
::
mungeTextBuffer
(
VclMultiLineEdit
&
rTarget
,
const
TextBuffer
&
rTextBuffer
)
{
{
for
(
stringmap
::
const_iterator
aI
=
rTextBuffer
.
begin
(),
aEnd
=
rTextBuffer
.
end
();
aI
!=
aEnd
;
++
aI
)
for
(
stringmap
::
const_iterator
aI
=
rTextBuffer
.
begin
(),
aEnd
=
rTextBuffer
.
end
();
aI
!=
aEnd
;
++
aI
)
...
...
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