summaryrefslogtreecommitdiff
path: root/cui/source/options
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2013-01-27 20:32:18 +0000
committerCaolán McNamara <caolanm@redhat.com>2013-01-29 21:48:32 +0000
commitaa4ef13a517d4eee4db9d36283eca3240bdd873f (patch)
tree656fcf468aa346aa0e5fedd10a019d00dc8337d8 /cui/source/options
parente258b760563dc2a69a1cc8b0c8b7b4c15a2774ad (diff)
move color scheme options .ui to right place and adapt code
a side effect of this painfully tricky rework is that we recover an apparently long lost initial "ON" column in tools->options->appearance Change-Id: I262feae14e9f8a21f46103e35256687e66a13c7c
Diffstat (limited to 'cui/source/options')
-rw-r--r--cui/source/options/optcolor.cxx1016
-rw-r--r--cui/source/options/optcolor.hrc214
-rw-r--r--cui/source/options/optcolor.hxx14
-rw-r--r--cui/source/options/optcolor.src496
4 files changed, 417 insertions, 1323 deletions
diff --git a/cui/source/options/optcolor.cxx b/cui/source/options/optcolor.cxx
index 632ac9eb9b82..67d2fa8fc08b 100644
--- a/cui/source/options/optcolor.cxx
+++ b/cui/source/options/optcolor.cxx
@@ -32,7 +32,6 @@
#include <dialmgr.hxx>
#include "optcolor.hxx"
#include <cuires.hrc>
-#include "optcolor.hrc"
#include <svx/dlgutil.hxx>
using namespace ::com::sun::star;
@@ -58,21 +57,16 @@ enum Group
};
// group data
-struct
-{
- // resource id for the title text
- int nTextResId;
-}
-const vGroupInfo[] =
+const char* vGroupNames[]
{
// the groups are in the same order as in enum Group above
- { FT_GENERAL },
- { FT_WRITER },
- { FT_HTML },
- { FT_CALC },
- { FT_DRAW },
- { FT_BASIC },
- { FT_SQL_COMMAND }, // FIXME
+ "general",
+ "writer",
+ "html",
+ "calc",
+ "draw",
+ "basic",
+ "sql"
};
// color config entry data (see ColorConfigWindow_Impl::Entry below)
@@ -80,180 +74,123 @@ struct
{
// group
Group eGroup;
-
- // help id for ...
- // color listbox
- char const* sColorListHid;
- // checkbox
- char const* sCheckBoxHid;
-
- // resource id for ...
- // checkbox (or simple text)
- int nTextResId;
- // color listbox
- int nColorListResId;
- // preview box
- int nPreviewResId;
-
+ //checkbox (or simple text)
+ const char *pText;
+ //color listbox
+ const char *pColor;
+ //preview box
+ const char *pPreview;
// has checkbox?
bool bCheckBox;
}
const vEntryInfo[] =
{
- // These macros simplify the list of constants.
- // There is a unique name that is the same in the ids of the same entry
- // (except one).
- // Entries with and without checkboxes need different macros:
#define IDS(Name) \
- HID_COLORPAGE_##Name##_LB, HID_COLORPAGE_##Name##_CB, \
- FT_##Name, LB_##Name, WN_##Name, false
- #define IDS_CB(Name) \
- HID_COLORPAGE_##Name##_LB, HID_COLORPAGE_##Name##_CB, \
- CB_##Name, LB_##Name, WN_##Name, true
+ SAL_STRINGIFY(Name), SAL_STRINGIFY(Name##_lb), SAL_STRINGIFY(Name##_wn), false
- // resolve different names
- #define CB_DOCBOUNDARIES CB_DOCBOUND
- #define LB_DOCBOUNDARIES LB_DOCBOUND
- #define WN_DOCBOUNDARIES WN_DOCBOUND
- #define FT_CALCPAGEBREAKAUTOMATIC FT_CALCPAGEBREAKAUTO
- #define LB_CALCPAGEBREAKAUTOMATIC LB_CALCPAGEBREAKAUTO
- #define WN_CALCPAGEBREAKAUTOMATIC WN_CALCPAGEBREAKAUTO
+ #define IDS_CB(Name) \
+ SAL_STRINGIFY(Name), SAL_STRINGIFY(Name##_lb), SAL_STRINGIFY(Name##_wn), true
// The list of these entries (enum ColorConfigEntry) are in colorcfg.hxx.
- { Group_General, IDS(DOCCOLOR) },
- { Group_General, IDS_CB(DOCBOUNDARIES) },
- { Group_General, IDS(APPBACKGROUND) },
- { Group_General, IDS_CB(OBJECTBOUNDARIES) },
- { Group_General, IDS_CB(TABLEBOUNDARIES) },
- { Group_General, IDS(FONTCOLOR) },
- { Group_General, IDS_CB(LINKS) },
- { Group_General, IDS_CB(LINKSVISITED) },
- { Group_General, IDS(SPELL) },
- { Group_General, IDS(SMARTTAGS) },
- { Group_General, IDS_CB(SHADOWCOLOR) },
- { Group_Writer, IDS(WRITERTEXTGRID) },
- { Group_Writer, IDS_CB(WRITERFIELDSHADINGS) },
- { Group_Writer, IDS_CB(WRITERIDXSHADINGS) },
- { Group_Writer, IDS(WRITERDIRECTCURSOR) },
- { Group_Writer, IDS(WRITERSCRIPTINDICATOR) },
- { Group_Writer, IDS_CB(WRITERSECTIONBOUNDARIES) },
- { Group_Writer, IDS(WRITERHEADERFOOTERMARK) },
- { Group_Writer, IDS(WRITERPAGEBREAKS) },
- { Group_Html, IDS(HTMLSGML) },
- { Group_Html, IDS(HTMLCOMMENT) },
- { Group_Html, IDS(HTMLKEYWORD) },
- { Group_Html, IDS(HTMLUNKNOWN) },
- { Group_Calc, IDS(CALCGRID) },
- { Group_Calc, IDS(CALCPAGEBREAK) },
- { Group_Calc, IDS(CALCPAGEBREAKMANUAL) },
- { Group_Calc, IDS(CALCPAGEBREAKAUTOMATIC) },
- { Group_Calc, IDS(CALCDETECTIVE) },
- { Group_Calc, IDS(CALCDETECTIVEERROR) },
- { Group_Calc, IDS(CALCREFERENCE) },
- { Group_Calc, IDS(CALCNOTESBACKGROUND) },
- { Group_Draw, IDS(DRAWGRID) },
- { Group_Basic, IDS(BASICIDENTIFIER) },
- { Group_Basic, IDS(BASICCOMMENT) },
- { Group_Basic, IDS(BASICNUMBER) },
- { Group_Basic, IDS(BASICSTRING) },
- { Group_Basic, IDS(BASICOPERATOR) },
- { Group_Basic, IDS(BASICKEYWORD) },
- { Group_Basic, IDS(BASICERROR) },
- { Group_Sql, IDS(SQLIDENTIFIER) },
- { Group_Sql, IDS(SQLNUMBER) },
- { Group_Sql, IDS(SQLSTRING) },
- { Group_Sql, IDS(SQLOPERATOR) },
- { Group_Sql, IDS(SQLKEYWORD) },
- { Group_Sql, IDS(SQLPARAMETER) },
- { Group_Sql, IDS(SQLCOMMENT) },
-
- #undef IDS_CB
+ { Group_General, IDS(doccolor) },
+ { Group_General, IDS_CB(docboundaries) },
+ { Group_General, IDS(appback) },
+ { Group_General, IDS_CB(objboundaries) },
+ { Group_General, IDS_CB(tblboundaries) },
+ { Group_General, IDS(font) },
+ { Group_General, IDS_CB(unvisitedlinks) },
+ { Group_General, IDS_CB(visitedlinks) },
+ { Group_General, IDS(autospellcheck) },
+ { Group_General, IDS(smarttags) },
+ { Group_General, IDS_CB(shadows) },
+
+ { Group_Writer, IDS(writergrid) },
+ { Group_Writer, IDS_CB(field) },
+ { Group_Writer, IDS_CB(index) },
+ { Group_Writer, IDS(direct) },
+ { Group_Writer, IDS(script) },
+ { Group_Writer, IDS_CB(section) },
+ { Group_Writer, IDS(hdft) },
+ { Group_Writer, IDS(pagebreak) },
+
+ { Group_Html, IDS(sgml) },
+ { Group_Html, IDS(htmlcomment) },
+ { Group_Html, IDS(htmlkeyword) },
+ { Group_Html, IDS(unknown) },
+
+ { Group_Calc, IDS(calcgrid) },
+ { Group_Calc, IDS(brk) },
+ { Group_Calc, IDS(brkmanual) },
+ { Group_Calc, IDS(brkauto) },
+ { Group_Calc, IDS(det) },
+ { Group_Calc, IDS(deterror) },
+ { Group_Calc, IDS(ref) },
+ { Group_Calc, IDS(notes) },
+
+ { Group_Draw, IDS(drawgrid) },
+
+ { Group_Basic, IDS(basicid) },
+ { Group_Basic, IDS(basiccomment) },
+ { Group_Basic, IDS(basicnumber) },
+ { Group_Basic, IDS(basicstring) },
+ { Group_Basic, IDS(basicop) },
+ { Group_Basic, IDS(basickeyword) },
+ { Group_Basic, IDS(error) },
+
+ { Group_Sql, IDS(sqlid) },
+ { Group_Sql, IDS(sqlnumber) },
+ { Group_Sql, IDS(sqlstring) },
+ { Group_Sql, IDS(sqlop) },
+ { Group_Sql, IDS(sqlkeyword) },
+ { Group_Sql, IDS(sqlparam) },
+ { Group_Sql, IDS(sqlcomment) }
+
#undef IDS
};
} // namespace
-
-//
-// SvxExtFixedText_Impl
-//
-
-class SvxExtFixedText_Impl : public FixedText
-{
-private:
- long m_nGroupHeight;
-
-protected:
- virtual void DataChanged (DataChangedEvent const& rDCEvt);
-
-public:
- SvxExtFixedText_Impl (Window* pParent, ResId const& rResId) :
- FixedText(pParent, rResId), m_nGroupHeight(0)
- { }
-
- long GetGroupHeight () const { return m_nGroupHeight; }
- void SetGroupHeight (long nHeight) { m_nGroupHeight = nHeight; }
-};
-
-void SvxExtFixedText_Impl::DataChanged (DataChangedEvent const& rDCEvt)
-{
- FixedText::DataChanged(rDCEvt);
- if ( (rDCEvt.GetType() == DATACHANGED_SETTINGS) &&
- (rDCEvt.GetFlags() & SETTINGS_STYLE) )
- {
- Font aFont = GetFont();
- aFont.SetWeight(WEIGHT_BOLD);
- SetFont(aFont);
- SetBackground(Wallpaper(Color(COL_TRANSPARENT)));
- }
-}
-
-
//
// ColorConfigWindow_Impl
//
-class ColorConfigWindow_Impl : public Window
+class ColorConfigWindow_Impl
+ : public VclContainer
+ , public VclBuilderContainer
{
public:
- ColorConfigWindow_Impl (Window* pParent, ResId const& rResId);
- ~ColorConfigWindow_Impl ();
+ ColorConfigWindow_Impl(Window* pParent);
+ ~ColorConfigWindow_Impl();
public:
void SetLinks (Link const&, Link const&, Link const&);
unsigned GetEntryHeight () const { return vEntries[0]->GetHeight(); }
void Update (EditableColorConfig const*, EditableExtendedColorConfig const*);
- void ScrollHdl (long& nScrollPos, ScrollBar const&);
+ void ScrollHdl(const ScrollBar&);
void ClickHdl (EditableColorConfig*, CheckBox*);
void ColorHdl (EditableColorConfig*, EditableExtendedColorConfig*, ColorListBox*);
- void SetHeaderBar (HeaderBar&, ScrollBar const&, ResMgr&);
- void SetScrollBar (ScrollBar&);
-
+ void Init(ScrollBar *pVScroll, HeaderBar *m_pHeaderHB);
+ void AdjustScrollBar();
+ void AdjustHeaderBar();
private:
// Chapter -- horizontal group separator stripe with text
class Chapter
{
- // parent window
- ColorConfigWindow_Impl& rParent;
- // gray (?) stripe
- Window aBackground;
// text
- SvxExtFixedText_Impl aText;
-
+ bool m_bOwnsWidget;
+ FixedText *m_pText;
public:
- Chapter (ColorConfigWindow_Impl& rParent, Group, ResMgr&);
- Chapter (ColorConfigWindow_Impl& rParent, ResMgr&, unsigned nYPos, rtl::OUString const& sDisplayName);
+ Chapter(FixedText *pText);
+ Chapter(Window *pGrid, unsigned nYPos, const rtl::OUString& sDisplayName);
+ ~Chapter();
public:
- void Show (Wallpaper const& rBackWall);
- void Hide ();
- void MoveVertically (long nOffset);
- void SetBackground (Wallpaper const& W) { aBackground.SetBackground(W); }
- long GetHeight () const { return aText.GetGroupHeight(); }
- void SetHeight (long nHeight) { aText.SetGroupHeight(nHeight); }
- long GetLeft () const { return aText.GetPosPixel().X(); }
- long GetTop () const { return aText.GetPosPixel().Y(); }
+ void SetBackground(const Wallpaper& W) { m_pText->SetBackground(W); }
+ long GetHeight() const { return m_pText->GetSizePixel().Height(); }
+ long GetLeft() const { return m_pText->GetPosPixel().X(); }
+ void Show(const Wallpaper& rBackWall);
+ void Hide();
};
// Entry -- a color config entry:
@@ -261,40 +198,39 @@ private:
class Entry
{
public:
- Entry (Window& rParent, unsigned iEntry, ResMgr&);
- Entry (Window& rParent, ResMgr&, unsigned nYPos, ExtendedColorConfigValue const& aColorEntry);
+ Entry(ColorConfigWindow_Impl& rParent, unsigned iEntry, long nCheckBoxLabelOffset);
+ Entry(Window* pGrid, unsigned nYPos, const ExtendedColorConfigValue& aColorEntry,
+ long nCheckBoxLabelOffset);
+ ~Entry();
public:
- void MoveVertically (long nOffset);
- bool MoveAndShow (long nOffset, long nMaxVisible, bool bShow);
void Show ();
void Hide ();
- void SetAppearance (unsigned iEntry, Wallpaper const& aTextWall, ColorListBox const& aSampleList);
- void SetTextColor (Color C) { pText->SetTextColor(C); }
+ void SetAppearance(Wallpaper const& aTextWall, ColorListBox const& aSampleList);
+ void SetTextColor (Color C) { m_pText->SetTextColor(C); }
public:
void SetLinks (Link const&, Link const&, Link const&);
- void SetHeader (ColorConfigWindow_Impl const& rParent, HeaderBar&, ResMgr&) const;
void Update (ColorConfigEntry, ColorConfigValue const&);
void Update (ExtendedColorConfigValue const&);
void ColorChanged (ColorConfigEntry, ColorConfigValue&);
void ColorChanged (ExtendedColorConfigValue&);
public:
- long GetTop () const { return aPreview.GetPosPixel().Y(); }
- long GetBottom () const { return GetTop() + aPreview.GetSizePixel().Height(); }
- unsigned GetHeight () const { return aColorList.GetSizePixel().Height(); }
+ long GetTop () const { return m_pPreview->GetPosPixel().Y(); }
+ long GetBottom () const { return GetTop() + m_pPreview->GetSizePixel().Height(); }
+ unsigned GetHeight () const { return m_pColorList->GetSizePixel().Height(); }
public:
- bool Is (CheckBox* pBox) const { return pText.get() == pBox; }
- bool Is (ColorListBox* pBox) const { return &aColorList == pBox; }
+ bool Is (CheckBox* pBox) const { return m_pText == pBox; }
+ bool Is (ColorListBox* pBox) const { return m_pColorList == pBox; }
private:
+ bool m_bOwnsWidgets;
// checkbox (CheckBox) or simple text (FixedText)
- boost::shared_ptr<Control> pText;
+ Control* m_pText;
// color list box
- ColorListBox aColorList;
+ ColorListBox* m_pColorList;
// color preview box
- Window aPreview;
+ Window* m_pPreview;
// default color
- Color aDefaultColor;
-
+ Color m_aDefaultColor;
private:
void SetColor (Color);
};
@@ -309,16 +245,21 @@ private:
private:
+ VclGrid *m_pGrid;
+ ScrollBar *m_pVScroll;
+ HeaderBar *m_pHeaderHB;
+
// initialization
- void CreateEntries (ResMgr&);
- void SetAppearance ();
+ void CreateEntries();
+ void SetAppearance();
private:
- long GetDeltaAbove (Group) const;
-
virtual void Command (CommandEvent const& rCEvt);
virtual void DataChanged (DataChangedEvent const& rDCEvt);
+ virtual Size calculateRequisition() const;
+ virtual void setAllocation(const Size &rAllocation);
+
unsigned GetPosBehindLastChapter () const;
bool IsGroupVisible (Group) const;
@@ -335,31 +276,6 @@ Group GetGroup (unsigned nEntry)
return vEntryInfo[nEntry].eGroup;
}
-// moves a window vertically
-void MoveVertically (Window& rWin, long nOffset)
-{
- if (nOffset)
- {
- Point aPos = rWin.GetPosPixel();
- aPos.Y() += nOffset;
- rWin.SetPosPixel(aPos);
- }
-}
-
-// moves a window vertically and optionally shows it
-bool MoveAndShow (Window& rWin, long nOffset, long nMaxVisible, bool bShow)
-{
- // moves
- Point aPos = rWin.GetPosPixel();
- aPos.Y() += nOffset;
- rWin.SetPosPixel(aPos);
- // shows only if it is really visible
- if (bShow)
- bShow = aPos.Y() <= nMaxVisible && aPos.Y() + rWin.GetSizePixel().Height() >= 0;
- rWin.Show(bShow);
- return bShow;
-}
-
} // namespace
@@ -372,225 +288,145 @@ bool MoveAndShow (Window& rWin, long nOffset, long nMaxVisible, bool bShow)
// rParent: parent window (ColorConfigWindow_Impl)
// eGroup: which group is this?
// rResMgr: resource manager
-ColorConfigWindow_Impl::Chapter::Chapter (
- ColorConfigWindow_Impl& Parent, Group eGroup, ResMgr& rResMgr
-) :
- rParent(Parent),
- aBackground(&rParent),
- aText(&rParent, ResId(vGroupInfo[eGroup].nTextResId, rResMgr))
-{ }
+ColorConfigWindow_Impl::Chapter::Chapter(FixedText* pText)
+ : m_bOwnsWidget(false)
+ , m_pText(pText)
+{
+}
// ctor for extended groups
-ColorConfigWindow_Impl::Chapter::Chapter (
- ColorConfigWindow_Impl& Parent, ResMgr& rResMgr,
- unsigned nYPos, rtl::OUString const& sDisplayName
-) :
- rParent(Parent),
- aBackground(&rParent),
- aText(&rParent, ResId(FT_SQL_COMMAND, rResMgr))
+ColorConfigWindow_Impl::Chapter::Chapter(Window *pGrid,
+ unsigned nYPos, const OUString& rDisplayName)
+ : m_bOwnsWidget(true)
{
- Point const aTextPos = rParent.LogicToPixel(Point(FT_XPOS, nYPos), MAP_APPFONT);
- Size const aTextSize = rParent.LogicToPixel(Size(FT_WIDTH, SEP_HEIGHT), MAP_APPFONT);
- aText.SetPosSizePixel(aTextPos, aTextSize);
- aText.SetText(sDisplayName);
+ m_pText = new FixedText(pGrid, WB_LEFT|WB_VCENTER|WB_3DLOOK);
+ m_pText->set_font_attribute("weight", "bold");
+ m_pText->set_grid_width(3);
+ m_pText->set_grid_left_attach(0);
+ m_pText->set_grid_top_attach(nYPos);
+ m_pText->SetText(rDisplayName);
}
-
-void ColorConfigWindow_Impl::Chapter::Show (Wallpaper const& rBackWall)
+ColorConfigWindow_Impl::Chapter::~Chapter()
{
- { // background
- Point const aBgPos(
- rParent.LogicToPixel(Point(0, 0), MAP_APPFONT).X(),
- aText.GetPosPixel().Y()
- );
- Size const aBgSize(
- rParent.GetSizePixel().Width(),
- rParent.LogicToPixel(Size(0, SEP_HEIGHT), MAP_APPFONT).Height()
- );
- aBackground.SetPosSizePixel(aBgPos, aBgSize);
- aBackground.SetBackground(rBackWall);
- aBackground.Show();
- }
-
- { // text
- Font aFont = aText.GetFont();
- aFont.SetWeight(WEIGHT_BOLD);
- aText.SetFont(aFont);
- aText.SetBackground(rBackWall);
- aText.Show();
- aText.SetZOrder(0, WINDOW_ZORDER_FIRST);
- }
+ if (m_bOwnsWidget)
+ delete m_pText;
}
-void ColorConfigWindow_Impl::Chapter::Hide ()
+void ColorConfigWindow_Impl::Chapter::Show(Wallpaper const& rBackWall)
{
- aBackground.Hide();
- aText.Hide();
+ // background
+ m_pText->SetBackground(rBackWall);
+ m_pText->Show();
}
-// moves the chapter title vertically by nOffset pixels
-void ColorConfigWindow_Impl::Chapter::MoveVertically (long nOffset)
+void ColorConfigWindow_Impl::Chapter::Hide ()
{
- ::MoveVertically(aBackground, nOffset);
- ::MoveVertically(aText, nOffset);
+ m_pText->Hide();
}
-
//
// ColorConfigWindow_Impl::Entry
//
-// ctor for default entries
-// pParent: parent window (ColorConfigWindow_Impl)
-// iEntry: which entry is this? (in the vEntryInfo[] array above)
-// rResMgr: resource manager
-ColorConfigWindow_Impl::Entry::Entry (
- Window& rParent, unsigned iEntry, ResMgr& rResMgr
-) :
- aColorList(&rParent, ResId(vEntryInfo[iEntry].nColorListResId, rResMgr)),
- aPreview(&rParent, ResId(vEntryInfo[iEntry].nPreviewResId, rResMgr)),
- aDefaultColor(ColorConfig::GetDefaultColor(static_cast<ColorConfigEntry>(iEntry)))
+ColorConfigWindow_Impl::Entry::Entry(ColorConfigWindow_Impl& rParent, unsigned iEntry,
+ long nCheckBoxLabelOffset)
+ : m_bOwnsWidgets(false)
+ , m_aDefaultColor(ColorConfig::GetDefaultColor(static_cast<ColorConfigEntry>(iEntry)))
{
- // has checkbox?
- if (vEntryInfo[iEntry].bCheckBox)
+ rParent.get(m_pText, vEntryInfo[iEntry].pText);
+ if (!vEntryInfo[iEntry].bCheckBox)
{
- pText = boost::shared_ptr<CheckBox>( new CheckBox (
- &rParent, ResId(vEntryInfo[iEntry].nTextResId, rResMgr)
- ) );
- }
- else
- {
- pText = boost::shared_ptr<FixedText>( new FixedText (
- &rParent, ResId(vEntryInfo[iEntry].nTextResId, rResMgr)
- ) );
+ m_pText->set_margin_left(m_pText->get_margin_left() +
+ nCheckBoxLabelOffset);
}
+ rParent.get(m_pColorList, vEntryInfo[iEntry].pColor);
+ rParent.get(m_pPreview, vEntryInfo[iEntry].pPreview);
}
// ctor for extended entries
-ColorConfigWindow_Impl::Entry::Entry (
- Window& rParent, ResMgr& rResMgr,
- unsigned nYPos, ExtendedColorConfigValue const& aColorEntry
-) :
- pText(boost::shared_ptr<FixedText>(new FixedText (&rParent, ResId(FT_BASICERROR, rResMgr)))),
- aColorList(&rParent, ResId(LB_BASICERROR, rResMgr)),
- aPreview(&rParent, ResId(WN_BASICERROR, rResMgr)),
- aDefaultColor(aColorEntry.getDefaultColor())
-{
- { // text (no checkbox)
- FixedText* const pFixedText = static_cast<FixedText*>(pText.get());
- Point const aTextPos = rParent.LogicToPixel(Point(FT_XPOS, nYPos), MAP_APPFONT);
- Size const aTextSize = rParent.LogicToPixel(Size(FT_WIDTH, FT_HEIGHT), MAP_APPFONT);
- pFixedText->SetPosSizePixel(aTextPos, aTextSize);
- pFixedText->SetText(aColorEntry.getDisplayName());
- }
- { // color listbox
- Point const aListPos = rParent.LogicToPixel(Point(LB_XPOS, nYPos), MAP_APPFONT);
- Size const aListSize = rParent.LogicToPixel(Size(LB_WIDTH, LB_HEIGHT), MAP_APPFONT);
- aColorList.SetPosSizePixel(aListPos, aListSize);
- }
- { // preview box
- Point const aPreviewPos = rParent.LogicToPixel(Point(WN_XPOS, nYPos), MAP_APPFONT);
- Size const aPreviewSize = rParent.LogicToPixel(Size(WN_WIDTH, WN_HEIGHT), MAP_APPFONT);
- aPreview.SetPosSizePixel(aPreviewPos, aPreviewSize);
- }
-}
-
-// moves entry vertically by nOffset pixels
-void ColorConfigWindow_Impl::Entry::MoveVertically (long nOffset)
+ColorConfigWindow_Impl::Entry::Entry( Window *pGrid, unsigned nYPos,
+ ExtendedColorConfigValue const& rColorEntry, long nCheckBoxLabelOffset)
+ : m_bOwnsWidgets(true)
+ , m_aDefaultColor(rColorEntry.getDefaultColor())
{
- // moving all components
- ::MoveVertically(*pText, nOffset);
- ::MoveVertically(aColorList, nOffset);
- ::MoveVertically(aPreview, nOffset);
+ m_pText = new FixedText(pGrid, WB_LEFT|WB_VCENTER|WB_3DLOOK);
+ m_pText->set_grid_width(3);
+ m_pText->set_grid_left_attach(0);
+ m_pText->set_grid_top_attach(nYPos);
+ m_pText->set_margin_left(6 + nCheckBoxLabelOffset);
+ m_pText->SetText(rColorEntry.getDisplayName());
+ m_pText->Show();
+
+ WinBits nWinBits = WB_LEFT|WB_VCENTER|WB_3DLOOK|WB_TABSTOP|WB_DROPDOWN;
+ m_pColorList = new ColorListBox(pGrid, nWinBits);
+ m_pColorList->EnableAutoSize(true);
+ m_pColorList->set_grid_left_attach(1);
+ m_pColorList->set_grid_top_attach(nYPos);
+ m_pColorList->Show();
+
+ m_pPreview = new Window(pGrid, WB_BORDER);
+ m_pPreview->set_grid_left_attach(2);
+ m_pPreview->set_grid_top_attach(nYPos);
+ m_pPreview->set_margin_right(6);
+ m_pPreview->Show();
}
-// moves and shows
-bool ColorConfigWindow_Impl::Entry::MoveAndShow (long nOffset, long nMaxVisible, bool bShow)
+ColorConfigWindow_Impl::Entry::~Entry()
{
- // if any of the items on the current line is visible, the
- // whole line should be visible
- bool bRes = false;
- bRes = ::MoveAndShow(*pText, nOffset, nMaxVisible, bShow) || bRes;
- bRes = ::MoveAndShow(aColorList, nOffset, nMaxVisible, bShow) || bRes;
- bRes = ::MoveAndShow(aPreview, nOffset, nMaxVisible, bShow) || bRes;
- return bRes;
+ if (m_bOwnsWidgets)
+ {
+ delete m_pText;
+ delete m_pColorList;
+ delete m_pPreview;
+ }
}
void ColorConfigWindow_Impl::Entry::Show ()
{
- pText->Show();
- aColorList.Show();
- aPreview.Show();
+ m_pText->Show();
+ m_pColorList->Show();
+ m_pPreview->Show();
}
void ColorConfigWindow_Impl::Entry::Hide ()
{
- pText->Hide();
- aColorList.Hide();
- aPreview.Hide();
+ m_pText->Hide();
+ m_pColorList->Hide();
+ m_pPreview->Hide();
}
// SetAppearance()
// iEntry: which entry is this?
// aTextWall: background of the text (transparent)
// aSampleList: sample color listbox (to copy from)
-void ColorConfigWindow_Impl::Entry::SetAppearance (
- unsigned iEntry, Wallpaper const& aTextWall,
- ColorListBox const& aSampleList
-) {
+void ColorConfigWindow_Impl::Entry::SetAppearance(
+ Wallpaper const& aTextWall,
+ ColorListBox const& aSampleList)
+{
// text (and optionally checkbox)
- pText->SetBackground(aTextWall);
- if (CheckBox* pCheckBox = dynamic_cast<CheckBox*>(pText.get()))
- pCheckBox->SetHelpId(vEntryInfo[iEntry].sCheckBoxHid);
+ m_pText->SetBackground(aTextWall);
// preview
- aPreview.SetBorderStyle(WINDOW_BORDER_MONO);
+ m_pPreview->SetBorderStyle(WINDOW_BORDER_MONO);
// color list
- aColorList.CopyEntries(aSampleList);
- aColorList.InsertAutomaticEntryColor(aDefaultColor);
- if (iEntry < ColorConfigEntryCount)
- aColorList.SetHelpId(vEntryInfo[iEntry].sColorListHid);
+ m_pColorList->CopyEntries(aSampleList);
+ m_pColorList->InsertAutomaticEntryColor(m_aDefaultColor);
}
// SetLinks()
-void ColorConfigWindow_Impl::Entry::SetLinks (
- Link const& aCheckLink, Link const& aColorLink, Link const& aGetFocusLink
-) {
- aColorList.SetSelectHdl(aColorLink);
- aColorList.SetGetFocusHdl(aGetFocusLink);
- if (CheckBox* pCheckBox = dynamic_cast<CheckBox*>(pText.get()))
+void ColorConfigWindow_Impl::Entry::SetLinks(
+ Link const& aCheckLink, Link const& aColorLink,
+ Link const& aGetFocusLink)
+{
+ m_pColorList->SetSelectHdl(aColorLink);
+ m_pColorList->SetGetFocusHdl(aGetFocusLink);
+ if (CheckBox* pCheckBox = dynamic_cast<CheckBox*>(m_pText))
{
pCheckBox->SetClickHdl(aCheckLink);
pCheckBox->SetGetFocusHdl(aGetFocusLink);
}
}
-// fills the header bar
-void ColorConfigWindow_Impl::Entry::SetHeader (
- ColorConfigWindow_Impl const& rParent,
- HeaderBar& rHeader, ResMgr& rResMgr
-) const {
- // title strings
- String const sTitle[] =
- {
- ResId(ST_ON, rResMgr),
- ResId(ST_UIELEM, rResMgr),
- ResId(ST_COLSET, rResMgr),
- ResId(ST_PREVIEW, rResMgr),
- };
- // horizontal positions
- unsigned const nX0 = 0;
- unsigned const nX1 = rParent.vChapters.front()->GetLeft();
- unsigned const nX2 = aColorList.GetPosPixel().X();
- unsigned const nX3 = aPreview.GetPosPixel().X();
- unsigned const nX4 = rHeader.GetSizePixel().Width();
- // filling
- WinBits const nHeadBits = HIB_VCENTER | HIB_FIXED | HIB_FIXEDPOS;
- rHeader.InsertItem(1, sTitle[0], nX1 - nX0, nHeadBits | HIB_CENTER);
- rHeader.InsertItem(2, sTitle[1], nX2 - nX1, nHeadBits | HIB_LEFT);
- rHeader.InsertItem(3, sTitle[2], nX3 - nX2, nHeadBits | HIB_LEFT);
- rHeader.InsertItem(4, sTitle[3], nX4 - nX3, nHeadBits | HIB_LEFT);
-}
-
// updates a default color config entry
void ColorConfigWindow_Impl::Entry::Update (
ColorConfigEntry aColorEntry, ColorConfigValue const& rValue
@@ -599,15 +435,15 @@ void ColorConfigWindow_Impl::Entry::Update (
if ((unsigned)rValue.nColor == COL_AUTO)
{
aColor = ColorConfig::GetDefaultColor(aColorEntry);
- aColorList.SelectEntryPos(0);
+ m_pColorList->SelectEntryPos(0);
}
else
{
aColor = Color(rValue.nColor);
- aColorList.SelectEntry(aColor);
+ m_pColorList->SelectEntry(aColor);
}
- aPreview.SetBackground(Wallpaper(aColor));
- if (CheckBox* pCheckBox = dynamic_cast<CheckBox*>(pText.get()))
+ m_pPreview->SetBackground(Wallpaper(aColor));
+ if (CheckBox* pCheckBox = dynamic_cast<CheckBox*>(m_pText))
pCheckBox->Check(rValue.bIsVisible);
}
@@ -617,9 +453,9 @@ void ColorConfigWindow_Impl::Entry::Update (
) {
Color aColor(rValue.getColor());
if (rValue.getColor() == rValue.getDefaultColor())
- aColorList.SelectEntryPos(0);
+ m_pColorList->SelectEntryPos(0);
else
- aColorList.SelectEntry(aColor);
+ m_pColorList->SelectEntry(aColor);
SetColor(aColor);
}
@@ -629,14 +465,14 @@ void ColorConfigWindow_Impl::Entry::ColorChanged (
ColorConfigValue& rValue
) {
Color aColor;
- if (aColorList.IsAutomaticSelected())
+ if (m_pColorList->IsAutomaticSelected())
{
aColor = ColorConfig::GetDefaultColor(aColorEntry);
rValue.nColor = COL_AUTO;
}
else
{
- aColor = aColorList.GetSelectEntryColor();
+ aColor = m_pColorList->GetSelectEntryColor();
rValue.nColor = aColor.GetColor();
}
SetColor(aColor);
@@ -646,10 +482,10 @@ void ColorConfigWindow_Impl::Entry::ColorChanged (
void ColorConfigWindow_Impl::Entry::ColorChanged (
ExtendedColorConfigValue& rValue
) {
- Color aColor = aColorList.GetSelectEntryColor();
+ Color aColor = m_pColorList->GetSelectEntryColor();
rValue.setColor(aColor.GetColor());
// automatic?
- if (aColorList.GetSelectEntryPos() == 0)
+ if (m_pColorList->GetSelectEntryPos() == 0)
{
rValue.setColor(rValue.getDefaultColor());
aColor.SetColor(rValue.getColor());
@@ -659,8 +495,8 @@ void ColorConfigWindow_Impl::Entry::ColorChanged (
void ColorConfigWindow_Impl::Entry::SetColor (Color aColor)
{
- aPreview.SetBackground(Wallpaper(aColor));
- aPreview.Invalidate();
+ m_pPreview->SetBackground(Wallpaper(aColor));
+ m_pPreview->Invalidate();
}
@@ -668,51 +504,74 @@ void ColorConfigWindow_Impl::Entry::SetColor (Color aColor)
// ColorConfigWindow_Impl
//
-ColorConfigWindow_Impl::ColorConfigWindow_Impl (Window* pParent, ResId const& rResId) :
- Window(pParent, rResId)
+ColorConfigWindow_Impl::ColorConfigWindow_Impl(Window* pParent)
+ : VclContainer(pParent)
{
- CreateEntries(*rResId.GetResMgr());
- Resource::FreeResource();
+ m_pUIBuilder = new VclBuilder(this, getUIRootDir(), "cui/ui/colorconfigwin.ui");
+ get(m_pGrid, "ColorConfigWindow");
+ CreateEntries();
SetAppearance();
}
-void ColorConfigWindow_Impl::CreateEntries (ResMgr& rResMgr)
+Size ColorConfigWindow_Impl::calculateRequisition() const
+{
+ return getLayoutRequisition(*m_pGrid);
+}
+
+void ColorConfigWindow_Impl::setAllocation(const Size &rAllocation)
+{
+ Point aChildPos(0, 0);
+ Size aChildSize(getLayoutRequisition(*m_pGrid));
+ aChildSize.Width() = rAllocation.Width();
+ setLayoutPosSize(*m_pGrid, aChildPos, aChildSize);
+ AdjustScrollBar();
+ AdjustHeaderBar();
+ ScrollHdl(*m_pVScroll);
+}
+
+void ColorConfigWindow_Impl::CreateEntries()
{
// creating group headers
vChapters.reserve(nGroupCount);
for (unsigned i = 0; i != nGroupCount; ++i)
{
- vChapters.push_back(boost::shared_ptr<Chapter> (
- new Chapter( *this, static_cast<Group>(i), rResMgr ) ) );
+ vChapters.push_back(boost::shared_ptr<Chapter>(
+ new Chapter(get<FixedText>(vGroupNames[i]))));
}
- // creating entries
- vEntries.reserve(ColorConfigEntryCount);
- for (unsigned i = 0; i != ColorConfigEntryCount; ++i)
- vEntries.push_back( boost::shared_ptr<Entry>(new Entry (*this, i, rResMgr) ) );
-
- // calculate heights of groups which can be hidden
+ //Here we want to get the amount to add to the position
+ //of a FixedText to get it to align its contents
+ //with that of a CheckBox
+ //We should have something like a Control::getTextOrigin
+ //Ideally we could use something like GetCharacterBounds,
+ //but I think that only works on truly visible controls
+ long nCheckBoxLabelOffset = 0;
{
- unsigned nNextY = GetPosBehindLastChapter(); // next Y coordinate
- for (int i = nGroupCount - 1; i >= 0; --i)
- {
- unsigned nY = vChapters[i]->GetTop();
- vChapters[i]->SetHeight(nNextY - nY);
- nNextY = nY;
- }
+ OUString sSampleText("X");
+ CheckBox aCheckBox(this);
+ FixedText aFixedText(this);
+ aCheckBox.SetText(sSampleText);
+ aFixedText.SetText(sSampleText);
+ Size aCheckSize(aCheckBox.CalcMinimumSize(0x7fffffff));
+ Size aFixedSize(aFixedText.CalcMinimumSize(0x7fffffff));
+ nCheckBoxLabelOffset = aCheckSize.Width() - aFixedSize.Width();
}
+ // creating entries
+ vEntries.reserve(ColorConfigEntryCount);
+ for (unsigned i = 0; i < SAL_N_ELEMENTS(vEntryInfo); ++i)
+ vEntries.push_back(boost::shared_ptr<Entry>(new Entry(*this, i, nCheckBoxLabelOffset)));
+
// extended entries
ExtendedColorConfig aExtConfig;
if (unsigned const nExtGroupCount = aExtConfig.GetComponentCount())
{
- unsigned nLineNum = ( GetPosBehindLastChapter() /
- LogicToPixel(Size(0, LINE_HEIGHT), MAP_APPFONT).Height() ) + 1;
+ size_t nLineNum = vChapters.size() + vEntries.size() + 1;
for (unsigned j = 0; j != nExtGroupCount; ++j)
{
rtl::OUString const sComponentName = aExtConfig.GetComponentName(j);
- vChapters.push_back(boost::shared_ptr<Chapter>(new Chapter (
- *this, rResMgr, nLineNum * LINE_HEIGHT,
+ vChapters.push_back(boost::shared_ptr<Chapter>(new Chapter(
+ m_pGrid, nLineNum,
aExtConfig.GetComponentDisplayName(sComponentName)
)));
++nLineNum;
@@ -722,7 +581,7 @@ void ColorConfigWindow_Impl::CreateEntries (ResMgr& rResMgr)
ExtendedColorConfigValue const aColorEntry =
aExtConfig.GetComponentColorConfigValue(sComponentName, i);
vEntries.push_back(boost::shared_ptr<Entry>( new Entry (
- *this, rResMgr, nLineNum * LINE_HEIGHT, aColorEntry
+ m_pGrid, nLineNum, aColorEntry, nCheckBoxLabelOffset
)));
++nLineNum;
}
@@ -738,15 +597,9 @@ void ColorConfigWindow_Impl::SetAppearance ()
Color const aBackColor = rStyleSettings.GetHighContrastMode() ?
rStyleSettings.GetShadowColor() : Color(COL_LIGHTGRAY);
Wallpaper const aBackWall(aBackColor);
- for (unsigned i = 0; i != vChapters.size(); ++i)
- {
- if (IsGroupVisible(static_cast<Group>(i)))
- vChapters[i]->Show(aBackWall);
- else
- vChapters[i]->Hide();
- }
+ for (size_t i = 0; i != vChapters.size(); ++i)
+ vChapters[i]->Show(aBackWall);
SetBackground(Wallpaper(rStyleSettings.GetFieldColor()));
- SetHelpId(HID_OPTIONS_COLORCONFIG_COLORLIST_WIN);
// #104195# when the window color is the same as the text color it has to be changed
Color aWinCol = rStyleSettings.GetWindowColor();
@@ -758,7 +611,7 @@ void ColorConfigWindow_Impl::SetAppearance ()
if (aRCheckCol == aWinCol)
aRCheckCol = Color(COL_BLACK);
// setting new text color for each entry
- for (unsigned i = 0; i != vEntries.size(); ++i)
+ for (size_t i = 0; i != vEntries.size(); ++i)
vEntries[i]->SetTextColor(aRCheckCol);
}
@@ -775,77 +628,47 @@ void ColorConfigWindow_Impl::SetAppearance ()
}
}
- // positioning and appearance
- Group eGroup = Group_Unknown;
- for (unsigned i = 0; i != vEntries.size(); ++i)
+ // appearance
+ for (size_t i = 0; i != vEntries.size(); ++i)
{
- Group const eNewGroup = GetGroup(i);
- bool const bShow = IsGroupVisible(eNewGroup);
- long const nDelta = bShow ? -GetDeltaAbove(eNewGroup) : 0;
-
- // new group?
- if (eNewGroup > eGroup)
- {
- eGroup = eNewGroup;
- if (bShow)
- vChapters[eGroup]->MoveVertically(nDelta);
- }
- // positioning
- if (bShow)
- vEntries[i]->MoveVertically(nDelta);
- else
- vEntries[i]->Hide();
// appearance
- vEntries[i]->SetAppearance(i, aTransparentWall, aSampleColorList);
+ vEntries[i]->SetAppearance(aTransparentWall, aSampleColorList);
}
}
-
ColorConfigWindow_Impl::~ColorConfigWindow_Impl ()
{ }
-void ColorConfigWindow_Impl::SetHeaderBar (
- HeaderBar& rHeaderBar, ScrollBar const& rVScroll, ResMgr& rResMgr
-) {
- rHeaderBar.SetPosSizePixel(
- Point(0, 0),
- Size(GetParent()->GetOutputSizePixel().Width(), rVScroll.GetPosPixel().Y())
- );
- vEntries.front()->SetHeader(*this, rHeaderBar, rResMgr);
- rHeaderBar.Show();
+void ColorConfigWindow_Impl::AdjustHeaderBar()
+{
+ // horizontal positions
+ unsigned const nX0 = 0;
+ unsigned const nX1 = get<Window>("doccolor")->GetPosPixel().X();
+ unsigned const nX2 = get<Window>("doccolor_lb")->GetPosPixel().X();
+ unsigned const nX3 = get<Window>("doccolor_wn")->GetPosPixel().X();
+ unsigned const nX4 = m_pHeaderHB->GetSizePixel().Width();
+ m_pHeaderHB->SetItemSize(1, nX1 - nX0);
+ m_pHeaderHB->SetItemSize(2, nX2 - nX1);
+ m_pHeaderHB->SetItemSize(3, nX3 - nX2);
+ m_pHeaderHB->SetItemSize(4, nX4 - nX3);
}
-void ColorConfigWindow_Impl::SetScrollBar (ScrollBar& rVScroll)
+void ColorConfigWindow_Impl::AdjustScrollBar()
{
- rVScroll.EnableDrag();
- rVScroll.Show();
- rVScroll.SetRangeMin(0);
unsigned const nScrollOffset =
vEntries[1]->GetTop() - vEntries[0]->GetTop();
unsigned const nVisibleEntries = GetSizePixel().Height() / nScrollOffset;
+ m_pVScroll->SetPageSize(nVisibleEntries - 1);
+ m_pVScroll->SetVisibleSize(nVisibleEntries);
+}
- rVScroll.SetRangeMax(vEntries.size() + vChapters.size());
- { // dynamic: calculate the hidden lines
- unsigned nInvisibleLines = 0;
- Group eGroup = Group_Unknown;
- for (unsigned i = 0; i != vEntries.size(); ++i)
- {
- Group const eNewGroup = GetGroup(i);
- bool const bVisible = IsGroupVisible(eNewGroup);
- if (!bVisible)
- nInvisibleLines++;
- if (eNewGroup > eGroup)
- {
- eGroup = eNewGroup;
- if (!bVisible)
- nInvisibleLines++;
- }
- }
- rVScroll.SetRangeMax(rVScroll.GetRangeMax() - nInvisibleLines);
- }
-
- rVScroll.SetPageSize(nVisibleEntries - 1);
- rVScroll.SetVisibleSize(nVisibleEntries);
+void ColorConfigWindow_Impl::Init(ScrollBar *pVScroll, HeaderBar *pHeaderHB)
+{
+ m_pHeaderHB = pHeaderHB;
+ m_pVScroll = pVScroll;
+ m_pVScroll->EnableDrag();
+ m_pVScroll->SetRangeMin(0);
+ m_pVScroll->SetRangeMax(vEntries.size() + vChapters.size());
}
// SetLinks()
@@ -859,8 +682,8 @@ void ColorConfigWindow_Impl::SetLinks (
// Update()
void ColorConfigWindow_Impl::Update (
EditableColorConfig const* pConfig,
- EditableExtendedColorConfig const* pExtConfig
-) {
+ EditableExtendedColorConfig const* pExtConfig)
+{
// updating default entries
for (unsigned i = 0; i != ColorConfigEntryCount; ++i)
{
@@ -885,45 +708,12 @@ void ColorConfigWindow_Impl::Update (
}
// ScrollHdl()
-void ColorConfigWindow_Impl::ScrollHdl (long& nScrollPos, ScrollBar const& rVScroll)
+void ColorConfigWindow_Impl::ScrollHdl(const ScrollBar& rVScroll)
{
SetUpdateMode(true);
- long const nOffset =
- (vEntries[1]->GetTop() - vEntries[0]->GetTop()) *
- (nScrollPos - rVScroll.GetThumbPos());
- nScrollPos = rVScroll.GetThumbPos();
- long const nWindowHeight = GetSizePixel().Height();
- int nFirstVisible = -1, nLastVisible = -1;
- for (unsigned i = 0; i != vEntries.size(); ++i)
- {
- //controls outside of the view need to be hidden to speed up accessibility tools
- bool const bShowCtrl = IsGroupVisible(GetGroup(i));
- if (vEntries[i]->MoveAndShow(nOffset, nWindowHeight, bShowCtrl))
- {
- if (nFirstVisible == -1)
- nFirstVisible = i;
- else
- nLastVisible = i;
- }
- }
-
- // show the one prior to the first visible and the first after the last visble control
- // to enable KEY_TAB travelling
- if(nFirstVisible > 0)
- {
- --nFirstVisible;
- if (IsGroupVisible(GetGroup(nFirstVisible)))
- vEntries[nFirstVisible]->Show();
- }
- if (nLastVisible != -1 && (unsigned)nLastVisible < vEntries.size() - 1)
- {
- ++nLastVisible;
- if (IsGroupVisible(GetGroup(nLastVisible)))
- vEntries[nLastVisible]->Show();
- }
-
- for (unsigned i = 0; i != vChapters.size(); ++i)
- vChapters[i]->MoveVertically(nOffset);
+ const long nRowHeight = (vEntries[1]->GetTop() - vEntries[0]->GetTop());
+ Point aPos(0, 0 - rVScroll.GetThumbPos() * nRowHeight);
+ m_pGrid->SetPosPixel(aPos);
SetUpdateMode(true);
}
@@ -993,18 +783,14 @@ bool ColorConfigWindow_Impl::IsGroupVisible (Group eGroup) const
case Group_Writer:
case Group_Html:
return aModuleOptions.IsModuleInstalled(SvtModuleOptions::E_SWRITER);
-
case Group_Calc:
return aModuleOptions.IsModuleInstalled(SvtModuleOptions::E_SCALC);
-
case Group_Draw:
return
aModuleOptions.IsModuleInstalled(SvtModuleOptions::E_SDRAW) ||
aModuleOptions.IsModuleInstalled(SvtModuleOptions::E_SIMPRESS);
-
case Group_Sql:
return aModuleOptions.IsModuleInstalled(SvtModuleOptions::E_SDATABASE);
-
default:
return true;
}
@@ -1018,16 +804,6 @@ unsigned ColorConfigWindow_Impl::GetPosBehindLastChapter () const
return nLastY;
}
-// calculates the overall height of the invisible groups above eGroup
-long ColorConfigWindow_Impl::GetDeltaAbove (Group eGroup) const
-{
- long nDelta = 0;
- for (int i = 0; i != eGroup; ++i)
- if (!IsGroupVisible(static_cast<Group>(i)))
- nDelta += vChapters[i]->GetHeight();
- return nDelta;
-}
-
void ColorConfigWindow_Impl::DataChanged (DataChangedEvent const& rDCEvt)
{
Window::DataChanged( rDCEvt );
@@ -1049,22 +825,16 @@ void ColorConfigWindow_Impl::Command( const CommandEvent& rCEvt )
GetParent()->Command(rCEvt);
}
-//
-// ColorConfigCtrl_Impl
-//
-
-class ColorConfigCtrl_Impl : public Control
+class ColorConfigCtrl_Impl : public VclVBox
{
- HeaderBar aHeaderHB;
- ScrollBar aVScroll;
-
- ColorConfigWindow_Impl aScrollWindow;
+ HeaderBar* m_pHeaderHB;
+ VclHBox* m_pBody;
+ ColorConfigWindow_Impl* m_pScrollWindow;
+ ScrollBar* m_pVScroll;
EditableColorConfig* pColorConfig;
EditableExtendedColorConfig* pExtColorConfig;
- long nScrollPos;
-
DECL_LINK(ScrollHdl, ScrollBar*);
DECL_LINK(ClickHdl, CheckBox*);
DECL_LINK(ColorHdl, ColorListBox*);
@@ -1074,61 +844,96 @@ class ColorConfigCtrl_Impl : public Control
virtual void Command (CommandEvent const& rCEvt);
virtual void DataChanged (DataChangedEvent const& rDCEvt);
public:
- ColorConfigCtrl_Impl (Window* pParent, ResId const& rResId);
- ~ColorConfigCtrl_Impl ();
+ ColorConfigCtrl_Impl(Window* pParent);
+ ~ColorConfigCtrl_Impl();
+ void InitHeaderBar(const OUString &rOn, const OUString &rUIElems,
+ const OUString &rColorSetting, const OUString &rPreview);
void SetConfig (EditableColorConfig& rConfig) { pColorConfig = &rConfig; }
void SetExtendedConfig (EditableExtendedColorConfig& rConfig) { pExtColorConfig = &rConfig; }
void Update ();
- long GetScrollPosition () { return aVScroll.GetThumbPos(); }
+ long GetScrollPosition ()
+ {
+ return m_pVScroll->GetThumbPos();
+ }
void SetScrollPosition (long nSet)
{
- aVScroll.SetThumbPos(nSet);
- ScrollHdl(&aVScroll);
+ m_pVScroll->SetThumbPos(nSet);
+ ScrollHdl(m_pVScroll);
}
};
-ColorConfigCtrl_Impl::ColorConfigCtrl_Impl (
- Window* pParent, ResId const& rResId
-) :
- Control(pParent, rResId),
+ColorConfigCtrl_Impl::ColorConfigCtrl_Impl(Window* pParent)
+ : VclVBox(pParent)
+ , pColorConfig(0)
+ , pExtColorConfig(0)
+{
+ m_pHeaderHB = new HeaderBar(this, WB_BUTTONSTYLE | WB_BOTTOMBORDER);
- aHeaderHB(this, WB_BUTTONSTYLE | WB_BOTTOMBORDER),
- aVScroll(this, ResId(VB_VSCROLL, *rResId.GetResMgr())),
- aScrollWindow(this, ResId(WN_SCROLL, *rResId.GetResMgr())),
+ m_pBody = new VclHBox(this);
+ m_pScrollWindow = new ColorConfigWindow_Impl(m_pBody);
+ m_pVScroll = new ScrollBar(m_pBody, WB_VERT);
+ m_pScrollWindow->Init(m_pVScroll, m_pHeaderHB);
- pColorConfig(0),
- pExtColorConfig(0),
- nScrollPos(0)
-{
- aScrollWindow.SetHeaderBar(aHeaderHB, aVScroll, *rResId.GetResMgr());
- aScrollWindow.SetScrollBar(aVScroll);
+ m_pBody->set_hexpand(true);
+ m_pBody->set_vexpand(true);
+ m_pBody->set_expand(true);
+ m_pBody->set_fill(true);
- Resource::FreeResource();
+ m_pScrollWindow->set_hexpand(true);
+ m_pScrollWindow->set_vexpand(true);
+ m_pScrollWindow->set_expand(true);
+ m_pScrollWindow->set_fill(true);
Link aScrollLink = LINK(this, ColorConfigCtrl_Impl, ScrollHdl);
- aVScroll.SetScrollHdl(aScrollLink);
- aVScroll.SetEndScrollHdl(aScrollLink);
+ m_pVScroll->SetScrollHdl(aScrollLink);
+ m_pVScroll->SetEndScrollHdl(aScrollLink);
Link aCheckLink = LINK(this, ColorConfigCtrl_Impl, ClickHdl);
Link aColorLink = LINK(this, ColorConfigCtrl_Impl, ColorHdl);
Link aGetFocusLink = LINK(this, ColorConfigCtrl_Impl, ControlFocusHdl);
- aScrollWindow.SetLinks(aCheckLink, aColorLink, aGetFocusLink);
+ m_pScrollWindow->SetLinks(aCheckLink, aColorLink, aGetFocusLink);
+
+ m_pHeaderHB->Show();
+ m_pVScroll->Show();
+ m_pBody->Show();
+ m_pScrollWindow->Show();
+}
+
+void ColorConfigCtrl_Impl::InitHeaderBar(const OUString &rOn, const OUString &rUIElems,
+ const OUString &rColorSetting, const OUString &rPreview)
+{
+ // filling
+ const WinBits nHeadBits = HIB_VCENTER | HIB_FIXED | HIB_FIXEDPOS;
+ m_pHeaderHB->InsertItem(1, rOn, 0, nHeadBits | HIB_CENTER);
+ m_pHeaderHB->InsertItem(2, rUIElems, 0, nHeadBits | HIB_LEFT);
+ m_pHeaderHB->InsertItem(3, rColorSetting, 0, nHeadBits | HIB_LEFT);
+ m_pHeaderHB->InsertItem(4, rPreview, 0, nHeadBits | HIB_LEFT);
+ m_pHeaderHB->set_height_request(GetTextHeight() + 6);
}
ColorConfigCtrl_Impl::~ColorConfigCtrl_Impl()
{
+ delete m_pVScroll;
+ delete m_pScrollWindow;
+ delete m_pBody;
+ delete m_pHeaderHB;
+}
+
+extern "C" SAL_DLLPUBLIC_EXPORT Window* SAL_CALL makeColorConfigCtrl(Window *pParent, VclBuilder::stringmap &)
+{
+ return new ColorConfigCtrl_Impl(pParent);
}
void ColorConfigCtrl_Impl::Update ()
{
DBG_ASSERT(pColorConfig, "Configuration not set");
- aScrollWindow.Update(pColorConfig, pExtColorConfig);
+ m_pScrollWindow->Update(pColorConfig, pExtColorConfig);
}
IMPL_LINK(ColorConfigCtrl_Impl, ScrollHdl, ScrollBar*, pScrollBar)
{
- aScrollWindow.ScrollHdl(nScrollPos, *pScrollBar);
+ m_pScrollWindow->ScrollHdl(*pScrollBar);
return 0;
}
@@ -1144,7 +949,7 @@ long ColorConfigCtrl_Impl::PreNotify( NotifyEvent& rNEvt )
return 1;
}
}
- return Control::PreNotify(rNEvt);
+ return VclVBox::PreNotify(rNEvt);
}
void ColorConfigCtrl_Impl::Command( const CommandEvent& rCEvt )
@@ -1159,12 +964,12 @@ void ColorConfigCtrl_Impl::Command( const CommandEvent& rCEvt )
const CommandWheelData* pWheelData = rCEvt.GetWheelData();
if(pWheelData && !pWheelData->IsHorz() && COMMAND_WHEEL_ZOOM != pWheelData->GetMode())
{
- HandleScrollCommand( rCEvt, 0, &aVScroll );
+ HandleScrollCommand(rCEvt, 0, m_pVScroll);
}
}
break;
default:
- Control::Command(rCEvt);
+ VclVBox::Command(rCEvt);
}
}
@@ -1182,7 +987,7 @@ void ColorConfigCtrl_Impl::DataChanged( const DataChangedEvent& rDCEvt )
IMPL_LINK(ColorConfigCtrl_Impl, ClickHdl, CheckBox*, pBox)
{
DBG_ASSERT(pColorConfig, "Configuration not set");
- aScrollWindow.ClickHdl(pColorConfig, pBox);
+ m_pScrollWindow->ClickHdl(pColorConfig, pBox);
return 0;
}
@@ -1191,7 +996,7 @@ IMPL_LINK(ColorConfigCtrl_Impl, ColorHdl, ColorListBox*, pBox)
{
DBG_ASSERT(pColorConfig, "Configuration not set" );
if (pBox)
- aScrollWindow.ColorHdl(pColorConfig, pExtColorConfig, pBox);
+ m_pScrollWindow->ColorHdl(pColorConfig, pExtColorConfig, pBox);
return 0;
}
IMPL_LINK(ColorConfigCtrl_Impl, ControlFocusHdl, Control*, pCtrl)
@@ -1199,12 +1004,12 @@ IMPL_LINK(ColorConfigCtrl_Impl, ControlFocusHdl, Control*, pCtrl)
// determine whether a control is completely visible
// and make it visible
long aCtrlPosY = pCtrl->GetPosPixel().Y();
- unsigned const nWinHeight = aScrollWindow.GetSizePixel().Height();
- unsigned const nEntryHeight = aScrollWindow.GetEntryHeight();
+ unsigned const nWinHeight = m_pScrollWindow->GetSizePixel().Height();
+ unsigned const nEntryHeight = m_pScrollWindow->GetEntryHeight();
if (0 != (GETFOCUS_TAB & pCtrl->GetGetFocusFlags()) &&
(aCtrlPosY < 0 || nWinHeight < aCtrlPosY + nEntryHeight)
) {
- long nThumbPos = aVScroll.GetThumbPos();
+ long nThumbPos = m_pVScroll->GetThumbPos();
if (nWinHeight < aCtrlPosY + nEntryHeight)
{
//scroll down
@@ -1217,8 +1022,8 @@ IMPL_LINK(ColorConfigCtrl_Impl, ControlFocusHdl, Control*, pCtrl)
if(nThumbPos < 0)
nThumbPos = 0;
}
- aVScroll.SetThumbPos(nThumbPos);
- ScrollHdl(&aVScroll);
+ m_pVScroll->SetThumbPos(nThumbPos);
+ ScrollHdl(m_pVScroll);
}
return 0;
};
@@ -1229,40 +1034,43 @@ IMPL_LINK(ColorConfigCtrl_Impl, ControlFocusHdl, Control*, pCtrl)
//
SvxColorOptionsTabPage::SvxColorOptionsTabPage(
- Window* pParent, const SfxItemSet& rCoreSet) :
- SfxTabPage( pParent, CUI_RES( RID_SVXPAGE_COLORCONFIG ), rCoreSet ),
- aColorSchemeFL( this, CUI_RES( FL_COLORSCHEME ) ),
- aColorSchemeFT( this, CUI_RES( FT_COLORSCHEME ) ),
- aColorSchemeLB( this, CUI_RES( LB_COLORSCHEME ) ),
- aSaveSchemePB( this, CUI_RES( PB_SAVESCHEME) ),
- aDeleteSchemePB( this, CUI_RES( PB_DELETESCHEME ) ),
- aCustomColorsFL( this, CUI_RES( FL_CUSTOMCOLORS ) ),
- bFillItemSetCalled(sal_False),
- pColorConfig(0),
- pExtColorConfig(0),
- pColorConfigCT( new ColorConfigCtrl_Impl(this, CUI_RES( CT_COLORCONFIG ) ))
+ Window* pParent, const SfxItemSet& rCoreSet)
+ : SfxTabPage(pParent, "OptColorPage", "cui/ui/optcolorpage.ui", rCoreSet)
+ , bFillItemSetCalled(false)
+ , pColorConfig(0)
+ , pExtColorConfig(0)
{
- FreeResource();
- aColorSchemeLB.SetSelectHdl(LINK(this, SvxColorOptionsTabPage, SchemeChangedHdl_Impl));
+ get(m_pColorSchemeLB, "colorschemelb");
+ m_pColorSchemeLB->SetStyle(m_pColorSchemeLB->GetStyle() | WB_SORT);
+ get(m_pSaveSchemePB, "save");
+ get(m_pDeleteSchemePB, "delete");
+ get(m_pColorConfigCT, "colorconfig");
+
+ m_pColorConfigCT->InitHeaderBar(
+ get<Window>("on")->GetText(),
+ get<Window>("uielements")->GetText(),
+ get<Window>("colorsetting")->GetText(),
+ get<Window>("preview")->GetText());
+
+ m_pColorSchemeLB->SetSelectHdl(LINK(this, SvxColorOptionsTabPage, SchemeChangedHdl_Impl));
Link aLk = LINK(this, SvxColorOptionsTabPage, SaveDeleteHdl_Impl );
- aSaveSchemePB.SetClickHdl(aLk);
- aDeleteSchemePB.SetClickHdl(aLk);
+ m_pSaveSchemePB->SetClickHdl(aLk);
+ m_pDeleteSchemePB->SetClickHdl(aLk);
}
SvxColorOptionsTabPage::~SvxColorOptionsTabPage()
{
//when the dialog is cancelled but the color scheme ListBox has been changed these
//changes need to be undone
- if(!bFillItemSetCalled && aColorSchemeLB.GetSavedValue() != aColorSchemeLB.GetSelectEntryPos())
+ if(!bFillItemSetCalled && m_pColorSchemeLB->GetSavedValue() != m_pColorSchemeLB->GetSelectEntryPos())
{
- rtl::OUString sOldScheme = aColorSchemeLB.GetEntry(aColorSchemeLB.GetSavedValue());
+ rtl::OUString sOldScheme = m_pColorSchemeLB->GetEntry(m_pColorSchemeLB->GetSavedValue());
if(!sOldScheme.isEmpty())
{
pColorConfig->SetCurrentSchemeName(sOldScheme);
pExtColorConfig->SetCurrentSchemeName(sOldScheme);
}
}
- delete pColorConfigCT;
pColorConfig->ClearModified();
pColorConfig->EnableBroadcast();
delete pColorConfig;
@@ -1279,7 +1087,7 @@ SfxTabPage* SvxColorOptionsTabPage::Create( Window* pParent, const SfxItemSet& r
sal_Bool SvxColorOptionsTabPage::FillItemSet( SfxItemSet& )
{
bFillItemSetCalled = sal_True;
- if(aColorSchemeLB.GetSavedValue() != aColorSchemeLB.GetSelectEntryPos())
+ if(m_pColorSchemeLB->GetSavedValue() != m_pColorSchemeLB->GetSelectEntryPos())
{
pColorConfig->SetModified();
pExtColorConfig->SetModified();
@@ -1300,7 +1108,7 @@ void SvxColorOptionsTabPage::Reset( const SfxItemSet& )
delete pColorConfig;
}
pColorConfig = new EditableColorConfig;
- pColorConfigCT->SetConfig(*pColorConfig);
+ m_pColorConfigCT->SetConfig(*pColorConfig);
if(pExtColorConfig)
{
@@ -1309,19 +1117,19 @@ void SvxColorOptionsTabPage::Reset( const SfxItemSet& )
delete pExtColorConfig;
}
pExtColorConfig = new EditableExtendedColorConfig;
- pColorConfigCT->SetExtendedConfig(*pExtColorConfig);
+ m_pColorConfigCT->SetExtendedConfig(*pExtColorConfig);
String sUser = GetUserData();
//has to be called always to speed up accessibility tools
- pColorConfigCT->SetScrollPosition(sUser.ToInt32());
- aColorSchemeLB.Clear();
+ m_pColorConfigCT->SetScrollPosition(sUser.ToInt32());
+ m_pColorSchemeLB->Clear();
uno::Sequence< ::rtl::OUString > aSchemes = pColorConfig->GetSchemeNames();
const rtl::OUString* pSchemes = aSchemes.getConstArray();
for(sal_Int32 i = 0; i < aSchemes.getLength(); i++)
- aColorSchemeLB.InsertEntry(pSchemes[i]);
- aColorSchemeLB.SelectEntry(pColorConfig->GetCurrentSchemeName());
- aColorSchemeLB.SaveValue();
- aDeleteSchemePB.Enable( aSchemes.getLength() > 1 );
+ m_pColorSchemeLB->InsertEntry(pSchemes[i]);
+ m_pColorSchemeLB->SelectEntry(pColorConfig->GetCurrentSchemeName());
+ m_pColorSchemeLB->SaveValue();
+ m_pDeleteSchemePB->Enable( aSchemes.getLength() > 1 );
UpdateColorConfig();
}
@@ -1335,7 +1143,7 @@ int SvxColorOptionsTabPage::DeactivatePage( SfxItemSet* pSet_ )
void SvxColorOptionsTabPage::UpdateColorConfig()
{
//update the color config control
- pColorConfigCT->Update();
+ m_pColorConfigCT->Update();
}
IMPL_LINK(SvxColorOptionsTabPage, SchemeChangedHdl_Impl, ListBox*, pBox)
@@ -1348,7 +1156,7 @@ IMPL_LINK(SvxColorOptionsTabPage, SchemeChangedHdl_Impl, ListBox*, pBox)
IMPL_LINK(SvxColorOptionsTabPage, SaveDeleteHdl_Impl, PushButton*, pButton )
{
- if(&aSaveSchemePB == pButton)
+ if (m_pSaveSchemePB == pButton)
{
String sName;
@@ -1367,29 +1175,29 @@ IMPL_LINK(SvxColorOptionsTabPage, SaveDeleteHdl_Impl, PushButton*, pButton )
aNameDlg->GetName(sName);
pColorConfig->AddScheme(sName);
pExtColorConfig->AddScheme(sName);
- aColorSchemeLB.InsertEntry(sName);
- aColorSchemeLB.SelectEntry(sName);
- aColorSchemeLB.GetSelectHdl().Call(&aColorSchemeLB);
+ m_pColorSchemeLB->InsertEntry(sName);
+ m_pColorSchemeLB->SelectEntry(sName);
+ m_pColorSchemeLB->GetSelectHdl().Call(m_pColorSchemeLB);
}
delete aNameDlg;
}
else
{
- DBG_ASSERT(aColorSchemeLB.GetEntryCount() > 1, "don't delete the last scheme");
+ DBG_ASSERT(m_pColorSchemeLB->GetEntryCount() > 1, "don't delete the last scheme");
QueryBox aQuery(pButton, CUI_RES(RID_SVXQB_DELETE_COLOR_CONFIG));
aQuery.SetText(String(CUI_RES(RID_SVXSTR_COLOR_CONFIG_DELETE)));
if(RET_YES == aQuery.Execute())
{
- rtl::OUString sDeleteScheme(aColorSchemeLB.GetSelectEntry());
- aColorSchemeLB.RemoveEntry(aColorSchemeLB.GetSelectEntryPos());
- aColorSchemeLB.SelectEntryPos(0);
- aColorSchemeLB.GetSelectHdl().Call(&aColorSchemeLB);
+ rtl::OUString sDeleteScheme(m_pColorSchemeLB->GetSelectEntry());
+ m_pColorSchemeLB->RemoveEntry(m_pColorSchemeLB->GetSelectEntryPos());
+ m_pColorSchemeLB->SelectEntryPos(0);
+ m_pColorSchemeLB->GetSelectHdl().Call(m_pColorSchemeLB);
//first select the new scheme and then delete the old one
pColorConfig->DeleteScheme(sDeleteScheme);
pExtColorConfig->DeleteScheme(sDeleteScheme);
}
}
- aDeleteSchemePB.Enable( aColorSchemeLB.GetEntryCount() > 1 );
+ m_pDeleteSchemePB->Enable( m_pColorSchemeLB->GetEntryCount() > 1 );
return 0;
}
@@ -1397,12 +1205,12 @@ IMPL_LINK(SvxColorOptionsTabPage, CheckNameHdl_Impl, AbstractSvxNameDialog*, pDi
{
String sName;
pDialog->GetName(sName);
- return sName.Len() && LISTBOX_ENTRY_NOTFOUND == aColorSchemeLB.GetEntryPos( sName );
+ return sName.Len() && LISTBOX_ENTRY_NOTFOUND == m_pColorSchemeLB->GetEntryPos( sName );
}
void SvxColorOptionsTabPage::FillUserData()
{
- SetUserData(OUString::number(pColorConfigCT->GetScrollPosition()));
+ SetUserData(OUString::number(m_pColorConfigCT->GetScrollPosition()));
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/cui/source/options/optcolor.hrc b/cui/source/options/optcolor.hrc
deleted file mode 100644
index 8d5efc781f7d..000000000000
--- a/cui/source/options/optcolor.hrc
+++ /dev/null
@@ -1,214 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-#ifndef SVX_OPTCOLOR_HRC // Note: _SVX_OPTCOLOR_HRC would be undefined behaviour
-#define SVX_OPTCOLOR_HRC
-
-//Color config page
-#define FL_COLORSCHEME 1
-#define FT_COLORSCHEME 2
-#define LB_COLORSCHEME 3
-#define PB_SAVESCHEME 4
-#define PB_DELETESCHEME 5
-#define FL_CUSTOMCOLORS 6
-#define CT_COLORCONFIG 7
-
-#define HB_HEADER 10
-#define VB_VSCROLL 11
-#define WN_SCROLL 12
-#define ST_ON 17
-#define ST_UIELEM 18
-#define ST_COLSET 19
-#define ST_PREVIEW 20
-
-#define FT_GENERAL 30
-#define FT_DOCCOLOR 31
-#define LB_DOCCOLOR 32
-#define WN_DOCCOLOR 33
-#define CB_DOCBOUND 34
-#define LB_DOCBOUND 35
-#define WN_DOCBOUND 36
-#define FT_APPBACKGROUND 37
-#define LB_APPBACKGROUND 38
-#define WN_APPBACKGROUND 39
-#define CB_OBJECTBOUNDARIES 40
-#define LB_OBJECTBOUNDARIES 41
-#define WN_OBJECTBOUNDARIES 42
-#define CB_TABLEBOUNDARIES 43
-#define LB_TABLEBOUNDARIES 44
-#define WN_TABLEBOUNDARIES 45
-#define FT_FONTCOLOR 46
-#define LB_FONTCOLOR 47
-#define WN_FONTCOLOR 48
-#define CB_LINKS 49
-#define LB_LINKS 50
-#define WN_LINKS 51
-#define CB_LINKSVISITED 52
-#define LB_LINKSVISITED 53
-#define WN_LINKSVISITED 54
-
-#define FT_SPELL 58
-#define LB_SPELL 59
-#define WN_SPELL 60
-
-#define FT_WRITER 61
-#define FT_WRITERTEXTGRID 62
-#define LB_WRITERTEXTGRID 63
-#define WN_WRITERTEXTGRID 64
-#define CB_WRITERFIELDSHADINGS 65
-#define LB_WRITERFIELDSHADINGS 66
-#define WN_WRITERFIELDSHADINGS 67
-#define CB_WRITERIDXSHADINGS 68
-#define LB_WRITERIDXSHADINGS 69
-#define WN_WRITERIDXSHADINGS 70
-#define LB_WRITERDIRECTCURSOR 71
-#define FT_WRITERDIRECTCURSOR 72
-#define WN_WRITERDIRECTCURSOR 73
-#define LB_WRITERSCRIPTINDICATOR 77
-#define FT_WRITERSCRIPTINDICATOR 78
-#define WN_WRITERSCRIPTINDICATOR 79
-#define LB_WRITERSECTIONBOUNDARIES 80
-#define CB_WRITERSECTIONBOUNDARIES 81
-#define WN_WRITERSECTIONBOUNDARIES 82
-#define LB_WRITERPAGEBREAKS 83
-#define FT_WRITERPAGEBREAKS 84
-#define WN_WRITERPAGEBREAKS 85
-#define LB_WRITERHEADERFOOTERMARK 86
-#define FT_WRITERHEADERFOOTERMARK 87
-#define WN_WRITERHEADERFOOTERMARK 88
-
-#define FT_HTML 89
-#define FT_HTMLSGML 90
-#define LB_HTMLSGML 91
-#define WN_HTMLSGML 92
-#define FT_HTMLCOMMENT 93
-#define LB_HTMLCOMMENT 94
-#define WN_HTMLCOMMENT 95
-#define FT_HTMLKEYWORD 96
-#define LB_HTMLKEYWORD 97
-#define WN_HTMLKEYWORD 98
-#define FT_HTMLUNKNOWN 99
-#define LB_HTMLUNKNOWN 100
-#define WN_HTMLUNKNOWN 101
-
-#define FT_CALC 103
-#define FT_CALCGRID 104
-#define LB_CALCGRID 105
-#define WN_CALCGRID 106
-#define FT_CALCPAGEBREAK 107
-#define LB_CALCPAGEBREAK 108
-#define WN_CALCPAGEBREAK 109
-#define FT_CALCPAGEBREAKMANUAL 100
-#define LB_CALCPAGEBREAKMANUAL 101
-#define WN_CALCPAGEBREAKMANUAL 112
-#define FT_CALCPAGEBREAKAUTO 113
-#define LB_CALCPAGEBREAKAUTO 114
-#define WN_CALCPAGEBREAKAUTO 115
-#define FT_CALCDETECTIVE 116
-#define LB_CALCDETECTIVE 117
-#define WN_CALCDETECTIVE 118
-#define FT_CALCDETECTIVEERROR 119
-#define LB_CALCDETECTIVEERROR 120
-#define WN_CALCDETECTIVEERROR 121
-#define FT_CALCREFERENCE 122
-#define LB_CALCREFERENCE 123
-#define WN_CALCREFERENCE 124
-#define FT_CALCNOTESBACKGROUND 125
-#define LB_CALCNOTESBACKGROUND 126
-#define WN_CALCNOTESBACKGROUND 127
-#define FT_DRAW 128
-#define FT_DRAWGRID 132
-#define LB_DRAWGRID 133
-#define WN_DRAWGRID 134
-#define FT_BASICIDENTIFIER 141
-#define LB_BASICIDENTIFIER 142
-#define WN_BASICIDENTIFIER 143
-#define FT_BASICCOMMENT 144
-#define LB_BASICCOMMENT 145
-#define WN_BASICCOMMENT 146
-#define FT_BASICNUMBER 147
-#define LB_BASICNUMBER 148
-#define WN_BASICNUMBER 142
-#define FT_BASICSTRING 153
-#define LB_BASICSTRING 154
-#define WN_BASICSTRING 155
-#define FT_BASICOPERATOR 156
-#define LB_BASICOPERATOR 157
-#define WN_BASICOPERATOR 158
-#define FT_BASICKEYWORD 159
-#define LB_BASICKEYWORD 160
-#define WN_BASICKEYWORD 161
-#define FT_BASIC 162
-#define FT_BASICERROR 163
-#define LB_BASICERROR 164
-#define WN_BASICERROR 165
-
-#define FT_SQL_COMMAND 173
-#define FT_SQLIDENTIFIER 174
-#define LB_SQLIDENTIFIER 175
-#define WN_SQLIDENTIFIER 176
-#define FT_SQLNUMBER 177
-#define LB_SQLNUMBER 178
-#define WN_SQLNUMBER 179
-#define FT_SQLSTRING 180
-#define LB_SQLSTRING 181
-#define WN_SQLSTRING 182
-#define FT_SQLOPERATOR 183
-#define LB_SQLOPERATOR 184
-#define WN_SQLOPERATOR 185
-#define FT_SQLKEYWORD 186
-#define LB_SQLKEYWORD 187
-#define WN_SQLKEYWORD 188
-#define FT_SQLPARAMETER 189
-#define LB_SQLPARAMETER 190
-#define WN_SQLPARAMETER 191
-#define FT_SQLCOMMENT 192
-#define LB_SQLCOMMENT 193
-#define WN_SQLCOMMENT 194
-
-#define CB_SHADOWCOLOR 196
-#define LB_SHADOWCOLOR 197
-#define WN_SHADOWCOLOR 198
-
-#define ST_EXTENSION 166
-
-
-
-// Note: _FT_WIDTH etc. would be undefined behaviour
-#define FT_WIDTH 120
-#define LINE_HEIGHT 15
-#define FT_HEIGHT 10
-#define CB_WIDTH 130
-#define FT_XPOS 14
-#define CB_XPOS 5
-#define LB_XPOS 139
-#define LB_WIDTH 50
-#define LB_HEIGHT 50
-#define WN_WIDTH 30
-#define WN_HEIGHT 12
-#define WN_XPOS 195
-#define SEP_HEIGHT 8
-
-#define FT_SMARTTAGS 168
-#define LB_SMARTTAGS 169
-#define WN_SMARTTAGS 170
-
-#define ST_SPELL_CHECK_HIGHLIGHTING 171
-#define ST_GRAMMAR_CHECK_HIGHLIGHTING 172
-
-
-#endif
diff --git a/cui/source/options/optcolor.hxx b/cui/source/options/optcolor.hxx
index 98a5f45ba7af..345983a2ebf0 100644
--- a/cui/source/options/optcolor.hxx
+++ b/cui/source/options/optcolor.hxx
@@ -31,19 +31,15 @@ class SvxColorOptionsTabPage : public SfxTabPage
{
using SfxTabPage::DeactivatePage;
- FixedLine aColorSchemeFL;
- FixedText aColorSchemeFT;
- ListBox aColorSchemeLB;
- PushButton aSaveSchemePB;
- PushButton aDeleteSchemePB;
+ ListBox* m_pColorSchemeLB;
+ PushButton* m_pSaveSchemePB;
+ PushButton* m_pDeleteSchemePB;
+ ColorConfigCtrl_Impl* m_pColorConfigCT;
- FixedLine aCustomColorsFL;
-
- sal_Bool bFillItemSetCalled;
+ sal_Bool bFillItemSetCalled;
svtools::EditableColorConfig* pColorConfig;
svtools::EditableExtendedColorConfig* pExtColorConfig;
- ColorConfigCtrl_Impl* pColorConfigCT;
DECL_LINK(SchemeChangedHdl_Impl, ListBox*);
DECL_LINK(SaveDeleteHdl_Impl, PushButton*);
diff --git a/cui/source/options/optcolor.src b/cui/source/options/optcolor.src
index 914115c7c673..5c5fb74d8839 100644
--- a/cui/source/options/optcolor.src
+++ b/cui/source/options/optcolor.src
@@ -19,503 +19,7 @@
#include <sfx2/sfx.hrc>
#include "helpid.hrc"
#include <cuires.hrc>
-#include "optcolor.hrc"
-TabPage RID_SVXPAGE_COLORCONFIG
-{
- HelpId = HID_OPTIONS_COLORCONFIG ;
- OutputSize = TRUE ;
- SVLook = TRUE ;
- Hide = TRUE ;
- Size = MAP_APPFONT ( TP_WIDTH , TP_HEIGHT ) ;
- FixedLine FL_COLORSCHEME
- {
- Pos = MAP_APPFONT ( 6 , 3 ) ;
- Size = MAP_APPFONT ( 248 , 8 ) ;
- Text [ en-US ] = "Color scheme";
- };
- FixedText FT_COLORSCHEME
- {
- Pos = MAP_APPFONT ( 12 , 16 ) ;
- Size = MAP_APPFONT ( 50 , 8 ) ;
- Text [ en-US ] = "Scheme";
- };
- ListBox LB_COLORSCHEME
- {
- HelpID = "cui:ListBox:RID_SVXPAGE_COLORCONFIG:LB_COLORSCHEME";
- Pos = MAP_APPFONT ( 65 , 14 ) ;
- Size = MAP_APPFONT ( 77 , 58 ) ;
- Border = TRUE;
- Sort = TRUE;
- DropDown = TRUE;
- };
- PushButton PB_SAVESCHEME
- {
- HelpID = "cui:PushButton:RID_SVXPAGE_COLORCONFIG:PB_SAVESCHEME";
- Pos = MAP_APPFONT ( 145, 13 ) ;
- Size = MAP_APPFONT ( 50 , 14 ) ;
- Text [ en-US ] = "Save...";
- };
- PushButton PB_DELETESCHEME
- {
- HelpID = "cui:PushButton:RID_SVXPAGE_COLORCONFIG:PB_DELETESCHEME";
- Pos = MAP_APPFONT ( 198 , 13 ) ;
- Size = MAP_APPFONT ( 50 , 14 ) ;
- Text [ en-US ] = "Delete";
- };
- FixedLine FL_CUSTOMCOLORS
- {
- Pos = MAP_APPFONT ( 6 , 34 ) ;
- Size = MAP_APPFONT ( 248 , 8 ) ;
-
- Text [ en-US ] = "Custom colors";
- };
- Control CT_COLORCONFIG
- {
- Pos = MAP_APPFONT ( 12 , 45 ) ;
- Size = MAP_APPFONT ( 236 , 134 ) ;
- Border = TRUE;
- DialogControl = TRUE;
- OutputSize = TRUE ;
- ScrollBar VB_VSCROLL
- {
- Pos = MAP_APPFONT ( 228 , 10 ) ;
- Size = MAP_APPFONT ( 8 , 124 ) ;
- VScroll = TRUE;
- };
- String ST_ON
- {
- Text [ en-US ] = "On";
- };
- String ST_UIELEM
- {
- Text [ en-US ] = "User interface elements";
- };
- String ST_COLSET
- {
- Text [ en-US ] = "Color setting";
- };
- String ST_PREVIEW
- {
- Text [ en-US ] = "Preview";
- };
- Window WN_SCROLL
- {
-
-// misc defines to shorten defining of standard elements
-// standard sizes
-#define FT_SEP_SIZE Size = MAP_APPFONT ( FT_WIDTH , SEP_HEIGHT )
-#define FT_SIZE Size = MAP_APPFONT ( FT_WIDTH , FT_HEIGHT )
-#define LB_SIZE Size = MAP_APPFONT ( LB_WIDTH , LB_HEIGHT )
-#define WN_SIZE Size = MAP_APPFONT ( WN_WIDTH , WN_HEIGHT )
-#define CB_SIZE Size = MAP_APPFONT ( CB_WIDTH , FT_HEIGHT )
-
-// combination of position and size
-#define POS_SIZE( POSX, LINENUM, CONTRL_SIZE ) Pos = MAP_APPFONT ( POSX , LINENUM * LINE_HEIGHT ) ; CONTRL_SIZE
-
-// ... for special types
-#define FT_SEP_POS_SIZE( LINENUM ) POS_SIZE( FT_XPOS, LINENUM, FT_SEP_SIZE )
-#define FT_POS_SIZE( LINENUM ) POS_SIZE( FT_XPOS, LINENUM, FT_SIZE )
-#define LB_POS_SIZE( LINENUM ) POS_SIZE( LB_XPOS, LINENUM, LB_SIZE )
-#define WN_POS_SIZE( LINENUM ) POS_SIZE( WN_XPOS, LINENUM, WN_SIZE )
-#define CB_POS_SIZE( LINENUM ) POS_SIZE( CB_XPOS, LINENUM, CB_SIZE )
-
-// combination of a listbox (color chooser) and window (color preview)
-#define LB_WN( ID_POST, LINENUM ) ListBox LB_#ID_POST{LB_POS_SIZE(LINENUM);DropDown=TRUE;};Window WN_#ID_POST{WN_POS_SIZE(LINENUM);Border=TRUE;};
-
- OutputSize = TRUE ;
- Pos = MAP_APPFONT ( 0 , 10 ) ;
- Size = MAP_APPFONT ( 228 , 124 ) ;
- DialogControl = TRUE;
-
- FixedText FT_GENERAL
- {
- FT_SEP_POS_SIZE( 0 );
- Text [ en-US ] = "General";
- };
-
- FixedText FT_DOCCOLOR
- {
- FT_POS_SIZE( 1 );
- Text [ en-US ] = "Document background";
- };
- LB_WN( DOCCOLOR, 1 )
-
- CheckBox CB_DOCBOUND
- {
- HelpID = "cui:CheckBox:RID_SVXPAGE_COLORCONFIG:CB_DOCBOUND";
- CB_POS_SIZE( 2 );
- Text [ en-US ] = "Text boundaries";
- };
- LB_WN( DOCBOUND, 2 )
-
- FixedText FT_APPBACKGROUND
- {
- FT_POS_SIZE( 3 );
- Text [ en-US ] = "Application background";
- };
- LB_WN( APPBACKGROUND, 3 )
-
- CheckBox CB_OBJECTBOUNDARIES
- {
- HelpID = "cui:CheckBox:RID_SVXPAGE_COLORCONFIG:CB_OBJECTBOUNDARIES";
- CB_POS_SIZE( 4 );
- Text [ en-US ] = "Object boundaries";
- };
- LB_WN( OBJECTBOUNDARIES, 4 )
-
- CheckBox CB_TABLEBOUNDARIES
- {
- HelpID = "cui:CheckBox:RID_SVXPAGE_COLORCONFIG:CB_TABLEBOUNDARIES";
- CB_POS_SIZE( 5 );
- Text [ en-US ] = "Table boundaries";
- };
- LB_WN( TABLEBOUNDARIES, 5 )
-
- FixedText FT_FONTCOLOR
- {
- FT_POS_SIZE( 6 );
- Text [ en-US ] = "Font color";
- };
- LB_WN( FONTCOLOR, 6 )
-
- CheckBox CB_LINKS
- {
- HelpID = "cui:CheckBox:RID_SVXPAGE_COLORCONFIG:CB_LINKS";
- CB_POS_SIZE( 7 );
- Text [ en-US ] = "Unvisited links";
- };
- LB_WN( LINKS, 7 )
-
- CheckBox CB_LINKSVISITED
- {
- HelpID = "cui:CheckBox:RID_SVXPAGE_COLORCONFIG:CB_LINKSVISITED";
- CB_POS_SIZE( 8 );
- Text [ en-US ] = "Visited links";
- };
- LB_WN( LINKSVISITED, 8 )
-
- FixedText FT_SPELL
- {
- FT_POS_SIZE( 9 );
- Text [ en-US ] = "AutoSpellcheck";
- };
- LB_WN( SPELL, 9 )
-
- FixedText FT_SMARTTAGS
- {
- FT_POS_SIZE( 10 );
- Text [ en-US ] = "Smart Tags";
- };
- LB_WN( SMARTTAGS, 10 )
-
- Checkbox CB_SHADOWCOLOR
- {
- CB_POS_SIZE( 11 );
- Text [ en-US ] = "Shadows";
- };
- LB_WN( SHADOWCOLOR, 11 )
-
- FixedText FT_WRITER
- {
- FT_SEP_POS_SIZE( 12 );
- Text [ en-US ] = "Text Document";
- };
-
- FixedText FT_WRITERTEXTGRID
- {
- FT_POS_SIZE( 13 );
- Text [ en-US ] = "Grid";
- };
- LB_WN( WRITERTEXTGRID, 13 )
-
- CheckBox CB_WRITERFIELDSHADINGS
- {
- HelpID = "cui:CheckBox:RID_SVXPAGE_COLORCONFIG:CB_WRITERFIELDSHADINGS";
- CB_POS_SIZE( 14 );
- Text [ en-US ] = "Field shadings";
- };
- LB_WN( WRITERFIELDSHADINGS, 14 )
-
- CheckBox CB_WRITERIDXSHADINGS
- {
- HelpID = "cui:CheckBox:RID_SVXPAGE_COLORCONFIG:CB_WRITERIDXSHADINGS";
- CB_POS_SIZE( 15 );
- Text [ en-US ] = "Index and table shadings";
- };
- LB_WN( WRITERIDXSHADINGS, 15 )
-
-
- FixedText FT_WRITERSCRIPTINDICATOR
- {
- FT_POS_SIZE( 16 );
- Text [ en-US ] = "Script indicator";
- };
- LB_WN( WRITERSCRIPTINDICATOR, 16 )
-
- CheckBox CB_WRITERSECTIONBOUNDARIES
- {
- HelpID = "cui:CheckBox:RID_SVXPAGE_COLORCONFIG:CB_WRITERSECTIONBOUNDARIES";
- CB_POS_SIZE( 17 );
- Text [ en-US ] = "Section boundaries";
- };
- LB_WN( WRITERSECTIONBOUNDARIES, 17 )
-
- FixedText FT_WRITERHEADERFOOTERMARK
- {
- FT_POS_SIZE( 18 );
- Text [ en-US ] = "Headers and Footer delimiter";
- };
- LB_WN( WRITERHEADERFOOTERMARK, 18 )
-
- FixedText FT_WRITERPAGEBREAKS
- {
- FT_POS_SIZE( 19 );
- Text [ en-US ] = "Page and column breaks";
- };
- LB_WN( WRITERPAGEBREAKS, 19 )
-
- FixedText FT_WRITERDIRECTCURSOR
- {
- FT_POS_SIZE( 20 );
- Text [ en-US ] = "Direct cursor";
- };
- LB_WN( WRITERDIRECTCURSOR, 20 )
-
- FixedText FT_HTML
- {
- FT_SEP_POS_SIZE( 21 );
- Text [ en-US ] = "HTML Document";
- };
-
- FixedText FT_HTMLSGML
- {
- FT_POS_SIZE( 22 );
- Text [ en-US ] = "SGML syntax highlighting";
- };
- LB_WN( HTMLSGML, 22 )
-
- FixedText FT_HTMLCOMMENT
- {
- FT_POS_SIZE( 23 );
- Text [ en-US ] = "Comment highlighting";
- };
- LB_WN( HTMLCOMMENT, 23 )
-
- FixedText FT_HTMLKEYWORD
- {
- FT_POS_SIZE( 24 );
- Text [ en-US ] = "Keyword highlighting";
- };
- LB_WN( HTMLKEYWORD, 24 )
-
- FixedText FT_HTMLUNKNOWN
- {
- FT_POS_SIZE( 25 );
- Text [ en-US ] = "Text";
- };
- LB_WN( HTMLUNKNOWN, 25 )
-
- FixedText FT_CALC
- {
- FT_SEP_POS_SIZE( 26 );
- Text [ en-US ] = "Spreadsheet";
- };
-
- FixedText FT_CALCGRID
- {
- FT_POS_SIZE( 27 );
- Text [ en-US ] = "Grid lines";
- };
- LB_WN( CALCGRID, 27 )
-
- FixedText FT_CALCPAGEBREAK
- {
- FT_POS_SIZE( 28 );
- Text [ en-US ] = "Page breaks";
- };
- LB_WN( CALCPAGEBREAK, 28 )
-
- FixedText FT_CALCPAGEBREAKMANUAL
- {
- FT_POS_SIZE( 29 );
- Text [ en-US ] = "Manual page breaks";
- };
- LB_WN( CALCPAGEBREAKMANUAL, 29 )
-
- FixedText FT_CALCPAGEBREAKAUTO
- {
- FT_POS_SIZE( 30 );
- Text [ en-US ] = "Automatic page breaks";
- };
- LB_WN( CALCPAGEBREAKAUTO, 30)
-
- FixedText FT_CALCDETECTIVE
- {
- FT_POS_SIZE( 31 );
- Text [ en-US ] = "Detective";
- };
- LB_WN( CALCDETECTIVE, 31 )
-
- FixedText FT_CALCDETECTIVEERROR
- {
- FT_POS_SIZE( 32 );
- Text [ en-US ] = "Detective error";
- };
- LB_WN( CALCDETECTIVEERROR, 32 )
-
- FixedText FT_CALCREFERENCE
- {
- FT_POS_SIZE( 33 );
- Text [ en-US ] = "References";
- };
- LB_WN( CALCREFERENCE, 33 )
-
- FixedText FT_CALCNOTESBACKGROUND
- {
- FT_POS_SIZE( 34 );
- Text [ en-US ] = "Notes background";
- };
- LB_WN( CALCNOTESBACKGROUND, 34 )
-
- FixedText FT_DRAW
- {
- FT_SEP_POS_SIZE( 35 );
- Text [ en-US ] = "Drawing / Presentation";
- };
-
- FixedText FT_DRAWGRID
- {
- FT_POS_SIZE( 36 );
- Text [ en-US ] = "Grid";
- };
- LB_WN( DRAWGRID, 36 )
-
- FixedText FT_BASIC
- {
- FT_SEP_POS_SIZE( 37 );
- Text [ en-US ] = "Basic Syntax Highlighting";
- };
-
- FixedText FT_BASICIDENTIFIER
- {
- FT_POS_SIZE( 38 );
- Text [ en-US ] = "Identifier";
- };
- LB_WN( BASICIDENTIFIER, 38 )
-
- FixedText FT_BASICCOMMENT
- {
- FT_POS_SIZE( 39 );
- Text [ en-US ] = "Comment";
- };
- LB_WN( BASICCOMMENT, 39 )
-
- FixedText FT_BASICNUMBER
- {
- FT_POS_SIZE( 40 );
- Text [ en-US ] = "Number";
- };
- LB_WN( BASICNUMBER, 40)
-
- FixedText FT_BASICSTRING
- {
- FT_POS_SIZE( 41 );
- Text [ en-US ] = "String";
- };
- LB_WN( BASICSTRING, 41 )
-
- FixedText FT_BASICOPERATOR
- {
- FT_POS_SIZE( 42 );
- Text [ en-US ] = "Operator";
- };
- LB_WN( BASICOPERATOR, 42 )
-
- FixedText FT_BASICKEYWORD
- {
- FT_POS_SIZE( 43 );
- Text [ en-US ] = "Reserved expression";
- };
- LB_WN( BASICKEYWORD, 43 )
-
- FixedText FT_BASICERROR
- {
- FT_POS_SIZE( 44 );
- Text [ en-US ] = "Error";
- };
- LB_WN( BASICERROR, 44 )
-
- FixedText FT_SQL_COMMAND
- {
- FT_SEP_POS_SIZE( 45 );
- Text [ en-US ] = "SQL Syntax Highlighting";
- };
-
- FixedText FT_SQLIDENTIFIER
- {
- FT_POS_SIZE( 46 );
- Text [ en-US ] = "Identifier";
- };
- LB_WN( SQLIDENTIFIER, 46 )
-
- FixedText FT_SQLNUMBER
- {
- FT_POS_SIZE( 47 );
- Text [ en-US ] = "Number";
- };
- LB_WN( SQLNUMBER, 47 )
-
- FixedText FT_SQLSTRING
- {
- FT_POS_SIZE( 48 );
- Text [ en-US ] = "String";
- };
- LB_WN( SQLSTRING, 48 )
-
- FixedText FT_SQLOPERATOR
- {
- FT_POS_SIZE( 49 );
- Text [ en-US ] = "Operator";
- };
- LB_WN( SQLOPERATOR, 49 )
-
- FixedText FT_SQLKEYWORD
- {
- FT_POS_SIZE( 50 );
- Text [ en-US ] = "Keyword";
- };
- LB_WN( SQLKEYWORD, 50 )
-
- FixedText FT_SQLPARAMETER
- {
- FT_POS_SIZE( 51 );
- Text [ en-US ] = "Parameter";
- };
- LB_WN( SQLPARAMETER, 51 )
-
- FixedText FT_SQLCOMMENT
- {
- FT_POS_SIZE( 52 );
- Text [ en-US ] = "Comment";
- };
- LB_WN( SQLCOMMENT, 52 )
-
- String ST_EXTENSION
- {
- Text [ en-US ] = "Colorsettings of the Extensions";
- };
- String ST_SPELL_CHECK_HIGHLIGHTING
- {
- Text [ en-US ] = "Spell check highlighting";
- };
- String ST_GRAMMAR_CHECK_HIGHLIGHTING
- {
- Text [ en-US ] = "Grammar check highlighting";
- };
- };
- };
-};
QueryBox RID_SVXQB_DELETE_COLOR_CONFIG
{
Buttons = WB_YES_NO ;