diff options
-rw-r--r-- | extras/source/glade/libreoffice-catalog.xml.in | 6 | ||||
-rw-r--r-- | starmath/UIConfig_smath.mk | 1 | ||||
-rw-r--r-- | starmath/inc/dialog.hxx | 86 | ||||
-rw-r--r-- | starmath/inc/helpids.h | 1 | ||||
-rw-r--r-- | starmath/inc/starmath.hrc | 1 | ||||
-rw-r--r-- | starmath/source/dialog.cxx | 395 | ||||
-rw-r--r-- | starmath/source/smres.src | 83 | ||||
-rw-r--r-- | starmath/uiconfig/smath/ui/catalogdialog.ui (renamed from starmath/uiconfig/smath/ui/catalog.ui) | 176 |
8 files changed, 365 insertions, 384 deletions
diff --git a/extras/source/glade/libreoffice-catalog.xml.in b/extras/source/glade/libreoffice-catalog.xml.in index 91a087d7fee7..772ec0bc5bc1 100644 --- a/extras/source/glade/libreoffice-catalog.xml.in +++ b/extras/source/glade/libreoffice-catalog.xml.in @@ -60,6 +60,12 @@ <glade-widget-class title="Font Preview" name="svxlo-SvxFontPrevWindow" generic-name="Font Preview Window" parent="GtkDrawingArea" icon-name="widget-gtk-drawingarea"/> + <glade-widget-class title="Show Math Symbol" name="smlo-SmShowSymbol" + generic-name="Show Math Symbol" parent="GtkDrawingArea" + icon-name="widget-gtk-drawingarea"/> + <glade-widget-class title="Math Symbol Selection" name="smlo-SmShowSymbolSet" + generic-name="Math Symbol Selection" parent="GtkDrawingArea" + icon-name="widget-gtk-drawingarea"/> <glade-widget-class title="Number Preview" name="cuilo-SvxNumberPreview" generic-name="Number Preview Window" parent="GtkDrawingArea" icon-name="widget-gtk-drawingarea"/> diff --git a/starmath/UIConfig_smath.mk b/starmath/UIConfig_smath.mk index 83a127ae2dc6..9c4204331155 100644 --- a/starmath/UIConfig_smath.mk +++ b/starmath/UIConfig_smath.mk @@ -25,6 +25,7 @@ $(eval $(call gb_UIConfig_add_toolbarfiles,modules/smath,\ $(eval $(call gb_UIConfig_add_uifiles,modules/smath,\ starmath/uiconfig/smath/ui/alignmentdialog \ + starmath/uiconfig/smath/ui/catalogdialog \ starmath/uiconfig/smath/ui/printeroptions \ )) diff --git a/starmath/inc/dialog.hxx b/starmath/inc/dialog.hxx index 34511b998923..89eec6354965 100644 --- a/starmath/inc/dialog.hxx +++ b/starmath/inc/dialog.hxx @@ -287,35 +287,56 @@ public: /**************************************************************************/ -class SmShowSymbolSet : public Control +class SmShowSymbolSetWindow : public Control { + ScrollBar* m_pVScrollBar; SymbolPtrVec_t aSymbolSet; - ScrollBar aVScrollBar; - Size aOutputSize; Link aSelectHdlLink; Link aDblClickHdlLink; - sal_uInt16 nLen; - sal_uInt16 nRows, nColumns; - sal_uInt16 nSelectSymbol; + sal_uInt16 nLen; + sal_uInt16 nRows, nColumns; + sal_uInt16 nXOffset, nYOffset; + sal_uInt16 nSelectSymbol; + + void SetScrollBarRange(); + Point OffsetPoint(const Point &rPoint) const; virtual void Paint(const Rectangle&); virtual void MouseButtonDown(const MouseEvent& rMEvt); virtual void KeyInput(const KeyEvent& rKEvt); + virtual void Resize(); + virtual Size GetOptimalSize() const; DECL_LINK( ScrollHdl, ScrollBar* ); - public: - SmShowSymbolSet(Window *pParent, const ResId& rResId); - - void SetSymbolSet(const SymbolPtrVec_t& rSymbolSet); - + SmShowSymbolSetWindow(Window *pParent, WinBits nStyle); + void setScrollbar(ScrollBar *pVScrollBar); + void calccols(); void SelectSymbol(sal_uInt16 nSymbol); sal_uInt16 GetSelectSymbol() const { return nSelectSymbol; } - + void SetSymbolSet(const SymbolPtrVec_t& rSymbolSet); void SetSelectHdl(const Link& rLink) { aSelectHdlLink = rLink; } void SetDblClickHdl(const Link& rLink) { aDblClickHdlLink = rLink; } }; +class SmShowSymbolSet : public VclHBox +{ + SmShowSymbolSetWindow aSymbolWindow; + ScrollBar aVScrollBar; + Size aOutputSize; + +public: + SmShowSymbolSet(Window *pParent); + + void SetSymbolSet(const SymbolPtrVec_t& rSymbolSet) { aSymbolWindow.SetSymbolSet(rSymbolSet); } + + void SelectSymbol(sal_uInt16 nSymbol) { aSymbolWindow.SelectSymbol(nSymbol); } + sal_uInt16 GetSelectSymbol() const { return aSymbolWindow.GetSelectSymbol(); } + + void SetSelectHdl(const Link& rLink) { aSymbolWindow.SetSelectHdl(rLink); } + void SetDblClickHdl(const Link& rLink) { aSymbolWindow.SetDblClickHdl(rLink); } +}; + //////////////////////////////////////////////////////////////////////////////// class SmShowSymbol : public Control @@ -324,10 +345,15 @@ class SmShowSymbol : public Control virtual void Paint(const Rectangle&); virtual void MouseButtonDown(const MouseEvent& rMEvt); + virtual void Resize(); + + void setFontSize(Font &rFont) const; public: - SmShowSymbol(Window *pParent, const ResId& rResId) : - Control(pParent, rResId) {} + SmShowSymbol(Window *pParent, WinBits nStyle) + : Control(pParent, nStyle) + { + } void SetSymbol(const SmSym *pSymbol); void SetDblClickHdl(const Link &rLink) { aDblClickHdlLink = rLink; } @@ -339,15 +365,12 @@ class SmSymDefineDialog; class SmSymbolDialog : public ModalDialog { - FixedText aSymbolSetText; - ListBox aSymbolSets; - SmShowSymbolSet aSymbolSetDisplay; - FixedText aSymbolName; - SmShowSymbol aSymbolDisplay; - HelpButton aHelpBtn; - PushButton aGetBtn; - PushButton aCloseBtn; - PushButton aEditBtn; + ListBox* m_pSymbolSets; + SmShowSymbolSet* m_pSymbolSetDisplay; + FixedText* m_pSymbolName; + SmShowSymbol* m_pSymbolDisplay; + PushButton* m_pGetBtn; + PushButton* m_pEditBtn; SmViewShell &rViewSh; SmSymbolManager &rSymbolMgr; @@ -357,13 +380,11 @@ class SmSymbolDialog : public ModalDialog OutputDevice *pFontListDev; - DECL_LINK(SymbolSetChangeHdl, ListBox *); - DECL_LINK(SymbolChangeHdl, SmShowSymbolSet *); - DECL_LINK(SymbolDblClickHdl, SmShowSymbolSet *); - DECL_LINK(CloseClickHdl, Button *); - DECL_LINK(EditClickHdl, Button *); - DECL_LINK(GetClickHdl, Button *); - DECL_LINK(HelpButtonClickHdl, Button *); + DECL_LINK(SymbolSetChangeHdl, void*); + DECL_LINK(SymbolChangeHdl, void*); + DECL_LINK(SymbolDblClickHdl, void*); + DECL_LINK(EditClickHdl, void*); + DECL_LINK(GetClickHdl, void*); void FillSymbolSets(bool bDeleteText = true); void SetSymbolSetManager(SmSymbolManager &rMgr); @@ -374,12 +395,11 @@ class SmSymbolDialog : public ModalDialog public: SmSymbolDialog(Window * pParent, OutputDevice *pFntListDevice, - SmSymbolManager &rSymbolMgr, SmViewShell &rViewShell, bool bFreeRes = true); - virtual ~SmSymbolDialog(); + SmSymbolManager &rSymbolMgr, SmViewShell &rViewShell); bool SelectSymbolSet(const OUString &rSymbolSetName); void SelectSymbol(sal_uInt16 nSymbolPos); - sal_uInt16 GetSelectedSymbol() const { return aSymbolSetDisplay.GetSelectSymbol(); } + sal_uInt16 GetSelectedSymbol() const { return m_pSymbolSetDisplay->GetSelectSymbol(); } }; //////////////////////////////////////////////////////////////////////////////// diff --git a/starmath/inc/helpids.h b/starmath/inc/helpids.h index 34fd0db85950..7c06d77171af 100644 --- a/starmath/inc/helpids.h +++ b/starmath/inc/helpids.h @@ -23,7 +23,6 @@ #define HID_SMA_FONTSIZEDIALOG "STARMATH_HID_SMA_FONTSIZEDIALOG" #define HID_SMA_FONTTYPEDIALOG "STARMATH_HID_SMA_FONTTYPEDIALOG" #define HID_SMA_DISTANCEDIALOG "STARMATH_HID_SMA_DISTANCEDIALOG" -#define HID_SMA_SYMBOLDIALOG "STARMATH_HID_SMA_SYMBOLDIALOG" #define HID_SMA_SYMDEFINEDIALOG "STARMATH_HID_SMA_SYMDEFINEDIALOG" #define HID_SMA_WIN_DOCUMENT "STARMATH_HID_SMA_WIN_DOCUMENT" #define HID_SMA_COMMAND_WIN_EDIT "STARMATH_HID_SMA_COMMAND_WIN_EDIT" diff --git a/starmath/inc/starmath.hrc b/starmath/inc/starmath.hrc index c9dc005e4ab9..165ecce2e6ce 100644 --- a/starmath/inc/starmath.hrc +++ b/starmath/inc/starmath.hrc @@ -86,7 +86,6 @@ #define RID_FONTTYPEDIALOG (RID_APP_START + 4) #define RID_DISTANCEDIALOG (RID_APP_START + 5) #define RID_PRINTOPTIONPAGE (RID_APP_START + 7) -#define RID_SYMBOLDIALOG (RID_APP_START + 8) #define RID_SYMDEFINEDIALOG (RID_APP_START + 9) #define RID_PRINTUIOPTIONS (RID_APP_START + 11) diff --git a/starmath/source/dialog.cxx b/starmath/source/dialog.cxx index 435911aeacf4..4abdcba1182a 100644 --- a/starmath/source/dialog.cxx +++ b/starmath/source/dialog.cxx @@ -23,6 +23,7 @@ #include <svl/intitem.hxx> #include <svl/stritem.hxx> #include <sfx2/app.hxx> +#include <vcl/builder.hxx> #include <vcl/msgbox.hxx> #include <svtools/ctrltool.hxx> #include <sfx2/printer.hxx> @@ -381,19 +382,28 @@ SmFontDialog::SmFontDialog(Window * pParent, } } -void SmFontDialog::InitColor_Impl() +namespace { -#if OSL_DEBUG_LEVEL > 1 - Color aBC( GetDisplayBackground().GetColor() ); -#endif - ColorData nBgCol = COL_WHITE, - nTxtCol = COL_BLACK; - const StyleSettings &rS = GetSettings().GetStyleSettings(); - if (rS.GetHighContrastMode()) + void getColors(Window &rRef, ColorData &rBgCol, ColorData &rTxtCol) { - nBgCol = rS.GetFieldColor().GetColor(); - nTxtCol = rS.GetFieldTextColor().GetColor(); + const StyleSettings &rS = rRef.GetSettings().GetStyleSettings(); + if (rS.GetHighContrastMode()) + { + rBgCol = rS.GetFieldColor().GetColor(); + rTxtCol = rS.GetFieldTextColor().GetColor(); + } + else + { + rBgCol = COL_WHITE; + rTxtCol = COL_BLACK; + } } +} + +void SmFontDialog::InitColor_Impl() +{ + ColorData nBgCol, nTxtCol; + getColors(*this, nBgCol, nTxtCol); Color aTmpColor( nBgCol ); Wallpaper aWall( aTmpColor ); @@ -1127,17 +1137,34 @@ void SmAlignDialog::WriteTo(SmFormat &rFormat) const } -/**************************************************************************/ +SmShowSymbolSetWindow::SmShowSymbolSetWindow(Window *pParent, WinBits nStyle) + : Control(pParent, nStyle) + , m_pVScrollBar(0) + , nSelectSymbol(SYMBOL_NONE) +{ + ColorData nBgCol, nTxtCol; + getColors(*this, nBgCol, nTxtCol); + Color aTmpColor( nBgCol ); + Wallpaper aWall( aTmpColor ); + Color aTxtColor( nTxtCol ); + SetBackground( aWall ); + SetTextColor( aTxtColor ); +} -void SmShowSymbolSet::Paint(const Rectangle&) +Point SmShowSymbolSetWindow::OffsetPoint(const Point &rPoint) const +{ + return Point(rPoint.X() + nXOffset, rPoint.Y() + nYOffset); +} + +void SmShowSymbolSetWindow::Paint(const Rectangle&) { Push(PUSH_MAPMODE); // set MapUnit for which 'nLen' has been calculated SetMapMode(MapMode(MAP_PIXEL)); - sal_uInt16 v = sal::static_int_cast< sal_uInt16 >((aVScrollBar.GetThumbPos() * nColumns)); + sal_uInt16 v = sal::static_int_cast< sal_uInt16 >((m_pVScrollBar->GetThumbPos() * nColumns)); size_t nSymbols = aSymbolSet.size(); Color aTxtColor( GetTextColor() ); @@ -1159,41 +1186,49 @@ void SmShowSymbolSet::Paint(const Rectangle&) OUString aText(&cChar, 1); Size aSize( GetTextWidth( aText ), GetTextHeight()); - DrawText(Point((nIV % nColumns) * nLen + (nLen - aSize.Width()) / 2, - (nIV / nColumns) * nLen + (nLen - aSize.Height()) / 2), - aText); + Point aPoint((nIV % nColumns) * nLen + (nLen - aSize.Width()) / 2, + (nIV / nColumns) * nLen + (nLen - aSize.Height()) / 2); + + DrawText(OffsetPoint(aPoint), aText); } if (nSelectSymbol != SYMBOL_NONE) { - Invert(Rectangle(Point(((nSelectSymbol - v) % nColumns) * nLen, - ((nSelectSymbol - v) / nColumns) * nLen), - Size(nLen, nLen))); + Point aPoint(((nSelectSymbol - v) % nColumns) * nLen, + ((nSelectSymbol - v) / nColumns) * nLen); + + Invert(Rectangle(OffsetPoint(aPoint), Size(nLen, nLen))); + } Pop(); } -void SmShowSymbolSet::MouseButtonDown(const MouseEvent& rMEvt) +void SmShowSymbolSetWindow::MouseButtonDown(const MouseEvent& rMEvt) { GrabFocus(); + Size aOutputSize(nColumns * nLen, nRows * nLen); + Point aPoint(rMEvt.GetPosPixel()); + aPoint.X() -= nXOffset; + aPoint.Y() -= nYOffset; + if (rMEvt.IsLeft() && Rectangle(Point(0, 0), aOutputSize).IsInside(rMEvt.GetPosPixel())) { - long nPos = (rMEvt.GetPosPixel().Y() / nLen) * nColumns + (rMEvt.GetPosPixel().X() / nLen) + - aVScrollBar.GetThumbPos() * nColumns; + long nPos = (aPoint.Y() / nLen) * nColumns + (aPoint.X() / nLen) + + m_pVScrollBar->GetThumbPos() * nColumns; SelectSymbol( sal::static_int_cast< sal_uInt16 >(nPos) ); aSelectHdlLink.Call(this); - if (rMEvt.GetClicks() > 1) aDblClickHdlLink.Call(this); + if (rMEvt.GetClicks() > 1) + aDblClickHdlLink.Call(this); } - else Control::MouseButtonDown (rMEvt); } -void SmShowSymbolSet::KeyInput(const KeyEvent& rKEvt) +void SmShowSymbolSetWindow::KeyInput(const KeyEvent& rKEvt) { sal_uInt16 n = nSelectSymbol; @@ -1222,10 +1257,10 @@ void SmShowSymbolSet::KeyInput(const KeyEvent& rKEvt) n = nSelectSymbol; // adjust scrollbar - if ((n < (sal_uInt16) (aVScrollBar.GetThumbPos() * nColumns)) || - (n >= (sal_uInt16) ((aVScrollBar.GetThumbPos() + nRows) * nColumns))) + if ((n < (sal_uInt16) (m_pVScrollBar->GetThumbPos() * nColumns)) || + (n >= (sal_uInt16) ((m_pVScrollBar->GetThumbPos() + nRows) * nColumns))) { - aVScrollBar.SetThumbPos(n / nColumns); + m_pVScrollBar->SetThumbPos(n / nColumns); Invalidate(); Update(); } @@ -1234,72 +1269,87 @@ void SmShowSymbolSet::KeyInput(const KeyEvent& rKEvt) aSelectHdlLink.Call(this); } +void SmShowSymbolSetWindow::setScrollbar(ScrollBar *pVScrollBar) +{ + m_pVScrollBar = pVScrollBar; + m_pVScrollBar->Enable(false); + m_pVScrollBar->Show(); + m_pVScrollBar->SetScrollHdl(LINK(this, SmShowSymbolSetWindow, ScrollHdl)); +} -SmShowSymbolSet::SmShowSymbolSet(Window *pParent, const ResId& rResId) : - Control(pParent, rResId), - aVScrollBar(this, WinBits(WB_VSCROLL)) +SmShowSymbolSet::SmShowSymbolSet(Window *pParent) + : VclHBox(pParent, false, 6) + , aSymbolWindow(this, WB_TABSTOP) + , aVScrollBar(this, WinBits(WB_VSCROLL)) { - nSelectSymbol = SYMBOL_NONE; + aSymbolWindow.set_hexpand(true); + aSymbolWindow.set_vexpand(true); + aSymbolWindow.setScrollbar(&aVScrollBar); + aSymbolWindow.calccols(); + aSymbolWindow.Show(); +} - aOutputSize = GetOutputSizePixel(); - long nScrollBarWidth = aVScrollBar.GetSizePixel().Width(), - nUseableWidth = aOutputSize.Width() - nScrollBarWidth; +extern "C" SAL_DLLPUBLIC_EXPORT Window* SAL_CALL makeSmShowSymbolSet(Window *pParent, VclBuilder::stringmap &) +{ + return new SmShowSymbolSet(pParent); +} +void SmShowSymbolSetWindow::calccols() +{ // Height of 16pt in pixels (matching 'aOutputSize') nLen = (sal_uInt16) LogicToPixel(Size(0, 16), MapMode(MAP_POINT)).Height(); - nColumns = sal::static_int_cast< sal_uInt16 >(nUseableWidth / nLen); - if (nColumns > 2 && nColumns % 2 != 0) - nColumns--; - nRows = sal::static_int_cast< sal_uInt16 >(aOutputSize.Height() / nLen); -#if OSL_DEBUG_LEVEL > 1 - OSL_ENSURE(nColumns > 0, "Sm : no columns"); - OSL_ENSURE(nRows > 0, "Sm : no rows"); -#endif - - // make it fit exactly - aOutputSize.Width() = nColumns * nLen; - aOutputSize.Height() = nRows * nLen; + Size aOutputSize = GetOutputSizePixel(); - aVScrollBar.SetPosSizePixel(Point(aOutputSize.Width() + 1, -1), - Size(nScrollBarWidth, aOutputSize.Height() + 2)); - aVScrollBar.Enable(false); - aVScrollBar.Show(); - aVScrollBar.SetScrollHdl(LINK(this, SmShowSymbolSet, ScrollHdl)); + nColumns = sal::static_int_cast< sal_uInt16 >(aOutputSize.Width() / nLen); + if (nColumns > 2 && nColumns % 2 != 0) + --nColumns; + nRows = sal::static_int_cast< sal_uInt16 >(aOutputSize.Height() / nLen); + nColumns = std::max<sal_uInt16>(1, nColumns); + nRows = std::max<sal_uInt16>(1, nRows); - Size WindowSize (aOutputSize); - WindowSize.Width() += nScrollBarWidth; - SetOutputSizePixel(WindowSize); + nXOffset = (aOutputSize.Width() - (nColumns * nLen)) / 2; + nYOffset = (aOutputSize.Height() - (nRows * nLen)) / 2; + SetScrollBarRange(); } +Size SmShowSymbolSetWindow::GetOptimalSize() const +{ + Window *pParent = GetParent(); + return Size(pParent->approximate_char_width() * 24, pParent->GetTextHeight() * 8); +} -void SmShowSymbolSet::SetSymbolSet(const SymbolPtrVec_t& rSymbolSet) +void SmShowSymbolSetWindow::SetSymbolSet(const SymbolPtrVec_t& rSymbolSet) { aSymbolSet = rSymbolSet; + SetScrollBarRange(); +} + +void SmShowSymbolSetWindow::SetScrollBarRange() +{ if (static_cast< sal_uInt16 >(aSymbolSet.size()) > (nColumns * nRows)) { - aVScrollBar.SetRange(Range(0, ((aSymbolSet.size() + (nColumns - 1)) / nColumns) - nRows)); - aVScrollBar.Enable(true); + m_pVScrollBar->SetRange(Range(0, ((aSymbolSet.size() + (nColumns - 1)) / nColumns) - nRows)); + m_pVScrollBar->Enable(true); } else { - aVScrollBar.SetRange(Range(0,0)); - aVScrollBar.Enable (false); + m_pVScrollBar->SetRange(Range(0,0)); + m_pVScrollBar->Enable (false); } Invalidate(); } - -void SmShowSymbolSet::SelectSymbol(sal_uInt16 nSymbol) +void SmShowSymbolSetWindow::SelectSymbol(sal_uInt16 nSymbol) { - int v = (int) (aVScrollBar.GetThumbPos() * nColumns); + int v = (int) (m_pVScrollBar->GetThumbPos() * nColumns); if (nSelectSymbol != SYMBOL_NONE) - Invalidate(Rectangle(Point(((nSelectSymbol - v) % nColumns) * nLen, - ((nSelectSymbol - v) / nColumns) * nLen), + Invalidate(Rectangle(OffsetPoint(Point(((nSelectSymbol - v) % nColumns) * nLen, + ((nSelectSymbol - v) / nColumns) * nLen)), Size(nLen, nLen))); if (nSymbol < aSymbolSet.size()) @@ -1309,26 +1359,59 @@ void SmShowSymbolSet::SelectSymbol(sal_uInt16 nSymbol) nSelectSymbol = SYMBOL_NONE; if (nSelectSymbol != SYMBOL_NONE) - Invalidate(Rectangle(Point(((nSelectSymbol - v) % nColumns) * nLen, - ((nSelectSymbol - v) / nColumns) * nLen), + Invalidate(Rectangle(OffsetPoint(Point(((nSelectSymbol - v) % nColumns) * nLen, + ((nSelectSymbol - v) / nColumns) * nLen)), Size(nLen, nLen))); Update(); } +void SmShowSymbolSetWindow::Resize() +{ + Control::Resize(); + calccols(); +} -IMPL_LINK( SmShowSymbolSet, ScrollHdl, ScrollBar*, EMPTYARG /*pScrollBar*/) +IMPL_LINK( SmShowSymbolSetWindow, ScrollHdl, ScrollBar*, EMPTYARG /*pScrollBar*/) { Invalidate(); return 0; } -//////////////////////////////////////////////////////////////////////////////// +extern "C" SAL_DLLPUBLIC_EXPORT Window* SAL_CALL makeSmShowSymbol(Window *pParent, VclBuilder::stringmap &rMap) +{ + WinBits nWinBits = 0; + + VclBuilder::stringmap::iterator aFind = rMap.find(OString("border")); + if (aFind != rMap.end()) + { + if (toBool(aFind->second)) + nWinBits |= WB_BORDER; + rMap.erase(aFind); + } + + return new SmShowSymbol(pParent, nWinBits); +} + +void SmShowSymbol::Resize() +{ + Control::Resize(); + Invalidate(); +} + +void SmShowSymbol::setFontSize(Font &rFont) const +{ + rFont.SetSize(Size(0, GetOutputSize().Height() - GetOutputSize().Height() / 3)); +} void SmShowSymbol::Paint(const Rectangle &rRect) { Control::Paint( rRect ); + Font aFont(GetFont()); + setFontSize(aFont); + SetFont(aFont); + const OUString &rText = GetText(); Size aTextSize(GetTextWidth(rText), GetTextHeight()); @@ -1351,7 +1434,7 @@ void SmShowSymbol::SetSymbol(const SmSym *pSymbol) if (pSymbol) { Font aFont (pSymbol->GetFace()); - aFont.SetSize(Size(0, GetOutputSize().Height() - GetOutputSize().Height() / 3)); + setFontSize(aFont); aFont.SetAlign(ALIGN_BASELINE); SetFont(aFont); @@ -1372,59 +1455,44 @@ void SmSymbolDialog::FillSymbolSets(bool bDeleteText) // populate the entries of possible SymbolsSets in the dialog with // current values of the SymbolSet manager but selects none of those { - aSymbolSets.Clear(); + m_pSymbolSets->Clear(); if (bDeleteText) - aSymbolSets.SetNoSelection(); + m_pSymbolSets->SetNoSelection(); std::set< OUString > aSybolSetNames( rSymbolMgr.GetSymbolSetNames() ); std::set< OUString >::const_iterator aIt( aSybolSetNames.begin() ); for ( ; aIt != aSybolSetNames.end(); ++aIt) - aSymbolSets.InsertEntry( *aIt ); + m_pSymbolSets->InsertEntry( *aIt ); } -IMPL_LINK( SmSymbolDialog, SymbolSetChangeHdl, ListBox *, EMPTYARG pListBox ) +IMPL_LINK_NOARG( SmSymbolDialog, SymbolSetChangeHdl ) { - (void) pListBox; -#if OSL_DEBUG_LEVEL > 1 - OSL_ENSURE(pListBox == &aSymbolSets, "Sm : wrong argument"); -#endif - - SelectSymbolSet(aSymbolSets.GetSelectEntry()); + SelectSymbolSet(m_pSymbolSets->GetSelectEntry()); return 0; } -IMPL_LINK( SmSymbolDialog, SymbolChangeHdl, SmShowSymbolSet *, EMPTYARG pShowSymbolSet ) +IMPL_LINK_NOARG( SmSymbolDialog, SymbolChangeHdl ) { - (void) pShowSymbolSet; -#if OSL_DEBUG_LEVEL > 1 - OSL_ENSURE(pShowSymbolSet == &aSymbolSetDisplay, "Sm : wrong argument"); -#endif - - SelectSymbol(aSymbolSetDisplay.GetSelectSymbol()); + SelectSymbol(m_pSymbolSetDisplay->GetSelectSymbol()); return 0; } -IMPL_LINK( SmSymbolDialog, EditClickHdl, Button *, EMPTYARG pButton ) +IMPL_LINK_NOARG(SmSymbolDialog, EditClickHdl) { - (void) pButton; -#if OSL_DEBUG_LEVEL > 1 - OSL_ENSURE(pButton == &aEditBtn, "Sm : wrong argument"); -#endif - SmSymDefineDialog *pDialog = new SmSymDefineDialog(this, pFontListDev, rSymbolMgr); // set current symbol and SymbolSet for the new dialog - const OUString aSymSetName (aSymbolSets.GetSelectEntry()), - aSymName (aSymbolName.GetText()); + const OUString aSymSetName (m_pSymbolSets->GetSelectEntry()), + aSymName (m_pSymbolName->GetText()); pDialog->SelectOldSymbolSet(aSymSetName); pDialog->SelectOldSymbol(aSymName); pDialog->SelectSymbolSet(aSymSetName); pDialog->SelectSymbol(aSymName); // remember old SymbolSet - OUString aOldSymbolSet (aSymbolSets.GetSelectEntry()); + OUString aOldSymbolSet (m_pSymbolSets->GetSelectEntry()); sal_uInt16 nSymPos = GetSelectedSymbol(); @@ -1436,14 +1504,14 @@ IMPL_LINK( SmSymbolDialog, EditClickHdl, Button *, EMPTYARG pButton ) } // if the old SymbolSet doesn't exist anymore, go to the first one SymbolSet (if one exists) - if (!SelectSymbolSet(aOldSymbolSet) && aSymbolSets.GetEntryCount() > 0) - SelectSymbolSet(aSymbolSets.GetEntry(0)); + if (!SelectSymbolSet(aOldSymbolSet) && m_pSymbolSets->GetEntryCount() > 0) + SelectSymbolSet(m_pSymbolSets->GetEntry(0)); else { // just update display of current symbol set - OSL_ENSURE( aSymSetName == aSymSetName, "unexpected change in symbol set name" ); - aSymbolSet = rSymbolMgr.GetSymbolSet( aSymbolSetName ); - aSymbolSetDisplay.SetSymbolSet( aSymbolSet ); + assert(aSymSetName == aSymSetName); //unexpected change in symbol set name + aSymbolSet = rSymbolMgr.GetSymbolSet( aSymbolSetName ); + m_pSymbolSetDisplay->SetSymbolSet( aSymbolSet ); } if (nSymPos >= aSymbolSet.size()) @@ -1455,26 +1523,16 @@ IMPL_LINK( SmSymbolDialog, EditClickHdl, Button *, EMPTYARG pButton ) } -IMPL_LINK( SmSymbolDialog, SymbolDblClickHdl, SmShowSymbolSet *, EMPTYARG pShowSymbolSet ) +IMPL_LINK_NOARG( SmSymbolDialog, SymbolDblClickHdl ) { - (void) pShowSymbolSet; -#if OSL_DEBUG_LEVEL > 1 - OSL_ENSURE(pShowSymbolSet == &aSymbolSetDisplay, "Sm : wrong argument"); -#endif - - GetClickHdl(&aGetBtn); + GetClickHdl(m_pGetBtn); EndDialog(RET_OK); return 0; } -IMPL_LINK( SmSymbolDialog, GetClickHdl, Button *, EMPTYARG pButton ) +IMPL_LINK_NOARG( SmSymbolDialog, GetClickHdl ) { - (void) pButton; -#if OSL_DEBUG_LEVEL > 1 - OSL_ENSURE(pButton == &aGetBtn, "Sm : wrong button"); -#endif - const SmSym *pSym = GetSymbol(); if (pSym) { @@ -1490,96 +1548,57 @@ IMPL_LINK( SmSymbolDialog, GetClickHdl, Button *, EMPTYARG pButton ) } -IMPL_LINK_INLINE_START( SmSymbolDialog, CloseClickHdl, Button *, EMPTYARG pButton ) -{ - (void) pButton; -#if OSL_DEBUG_LEVEL > 1 - OSL_ENSURE(pButton == &aCloseBtn, "Sm : wrong button"); -#endif +SmSymbolDialog::SmSymbolDialog(Window *pParent, OutputDevice *pFntListDevice, + SmSymbolManager &rMgr, SmViewShell &rViewShell) + : ModalDialog(pParent, "CatalogDialog", + "modules/smath/ui/catalogdialog.ui") - EndDialog(true); - return 0; -} -IMPL_LINK_INLINE_END( SmSymbolDialog, CloseClickHdl, Button *, pButton ) + , -IMPL_LINK( SmSymbolDialog, HelpButtonClickHdl, Button *, EMPTYARG /*pButton*/ ) -{ - // start help system - Help* pHelp = Application::GetHelp(); - if( pHelp ) - { - pHelp->Start( OUString( "HID_SMA_SYMBOLDIALOG" ), &aHelpBtn ); - } - return 0; -} - -SmSymbolDialog::SmSymbolDialog(Window *pParent, OutputDevice *pFntListDevice, - SmSymbolManager &rMgr, SmViewShell &rViewShell, bool bFreeRes) : - ModalDialog (pParent, SmResId(RID_SYMBOLDIALOG)), - aSymbolSetText (this, SmResId(1)), - aSymbolSets (this, SmResId(1)), - aSymbolSetDisplay (this, SmResId(1)), - aSymbolName (this, SmResId(2)), - aSymbolDisplay (this, SmResId(2)), - aHelpBtn (this, SmResId(1)), - aGetBtn (this, SmResId(2)), - aCloseBtn (this, SmResId(3)), - aEditBtn (this, SmResId(1)), rViewSh (rViewShell), rSymbolMgr (rMgr), pFontListDev (pFntListDevice) { - if (bFreeRes) - FreeResource(); + get(m_pSymbolSets, "symbolset"); + m_pSymbolSets->SetStyle(m_pSymbolSets->GetStyle()|WB_SORT); + get(m_pSymbolName, "symbolname"); + get(m_pGetBtn, "insert"); + get(m_pEditBtn, "edit"); + get(m_pSymbolSetDisplay, "symbolsetdisplay"); + get(m_pSymbolDisplay, "preview"); - aHelpBtn.SetClickHdl(LINK(this, SmSymbolDialog, HelpButtonClickHdl)); aSymbolSetName = OUString(); aSymbolSet.clear(); FillSymbolSets(); - if (aSymbolSets.GetEntryCount() > 0) - SelectSymbolSet(aSymbolSets.GetEntry(0)); + if (m_pSymbolSets->GetEntryCount() > 0) + SelectSymbolSet(m_pSymbolSets->GetEntry(0)); InitColor_Impl(); // preview like controls should have a 2D look - aSymbolDisplay.SetBorderStyle( WINDOW_BORDER_MONO ); + m_pSymbolDisplay->SetBorderStyle( WINDOW_BORDER_MONO ); - aSymbolSets .SetSelectHdl (LINK(this, SmSymbolDialog, SymbolSetChangeHdl)); - aSymbolSetDisplay.SetSelectHdl (LINK(this, SmSymbolDialog, SymbolChangeHdl)); - aSymbolSetDisplay.SetDblClickHdl(LINK(this, SmSymbolDialog, SymbolDblClickHdl)); - aSymbolDisplay .SetDblClickHdl(LINK(this, SmSymbolDialog, SymbolDblClickHdl)); - aCloseBtn .SetClickHdl (LINK(this, SmSymbolDialog, CloseClickHdl)); - aEditBtn .SetClickHdl (LINK(this, SmSymbolDialog, EditClickHdl)); - aGetBtn .SetClickHdl (LINK(this, SmSymbolDialog, GetClickHdl)); -} - - -SmSymbolDialog::~SmSymbolDialog() -{ + m_pSymbolSets->SetSelectHdl(LINK(this, SmSymbolDialog, SymbolSetChangeHdl)); + m_pSymbolSetDisplay->SetSelectHdl(LINK(this, SmSymbolDialog, SymbolChangeHdl)); + m_pSymbolSetDisplay->SetDblClickHdl(LINK(this, SmSymbolDialog, SymbolDblClickHdl)); + m_pSymbolDisplay->SetDblClickHdl(LINK(this, SmSymbolDialog, SymbolDblClickHdl)); + m_pEditBtn->SetClickHdl(LINK(this, SmSymbolDialog, EditClickHdl)); + m_pGetBtn->SetClickHdl(LINK(this, SmSymbolDialog, GetClickHdl)); } void SmSymbolDialog::InitColor_Impl() { -#if OSL_DEBUG_LEVEL > 1 - Color aBC( GetDisplayBackground().GetColor() ); -#endif - ColorData nBgCol = COL_WHITE, - nTxtCol = COL_BLACK; - const StyleSettings &rS = GetSettings().GetStyleSettings(); - if (rS.GetHighContrastMode()) - { - nBgCol = rS.GetFieldColor().GetColor(); - nTxtCol = rS.GetFieldTextColor().GetColor(); - } + ColorData nBgCol, nTxtCol; + getColors(*this, nBgCol, nTxtCol); Color aTmpColor( nBgCol ); Wallpaper aWall( aTmpColor ); Color aTxtColor( nTxtCol ); - aSymbolDisplay .SetBackground( aWall ); - aSymbolDisplay .SetTextColor( aTxtColor ); - aSymbolSetDisplay.SetBackground( aWall ); - aSymbolSetDisplay.SetTextColor( aTxtColor ); + m_pSymbolDisplay->SetBackground( aWall ); + m_pSymbolDisplay->SetTextColor( aTxtColor ); + m_pSymbolSetDisplay->SetBackground( aWall ); + m_pSymbolSetDisplay->SetTextColor( aTxtColor ); } @@ -1596,13 +1615,13 @@ void SmSymbolDialog::DataChanged( const DataChangedEvent& rDCEvt ) bool SmSymbolDialog::SelectSymbolSet(const OUString &rSymbolSetName) { bool bRet = false; - sal_uInt16 nPos = aSymbolSets.GetEntryPos(rSymbolSetName); + sal_uInt16 nPos = m_pSymbolSets->GetEntryPos(rSymbolSetName); aSymbolSetName = OUString(); aSymbolSet.clear(); if (nPos != LISTBOX_ENTRY_NOTFOUND) { - aSymbolSets.SelectEntryPos(nPos); + m_pSymbolSets->SelectEntryPos(nPos); aSymbolSetName = rSymbolSetName; aSymbolSet = rSymbolMgr.GetSymbolSet( aSymbolSetName ); @@ -1610,14 +1629,14 @@ bool SmSymbolDialog::SelectSymbolSet(const OUString &rSymbolSetName) // sort symbols by Unicode position (useful for displaying Greek characters alphabetically) std::sort( aSymbolSet.begin(), aSymbolSet.end(), lt_SmSymPtr() ); - aSymbolSetDisplay.SetSymbolSet( aSymbolSet ); + m_pSymbolSetDisplay->SetSymbolSet( aSymbolSet ); if (aSymbolSet.size() > 0) SelectSymbol(0); bRet = true; } else - aSymbolSets.SetNoSelection(); + m_pSymbolSets->SetNoSelection(); return bRet; } @@ -1629,15 +1648,15 @@ void SmSymbolDialog::SelectSymbol(sal_uInt16 nSymbolNo) if (!aSymbolSetName.isEmpty() && nSymbolNo < static_cast< sal_uInt16 >(aSymbolSet.size())) pSym = aSymbolSet[ nSymbolNo ]; - aSymbolSetDisplay.SelectSymbol(nSymbolNo); - aSymbolDisplay.SetSymbol(pSym); - aSymbolName.SetText(pSym ? pSym->GetName() : OUString()); + m_pSymbolSetDisplay->SelectSymbol(nSymbolNo); + m_pSymbolDisplay->SetSymbol(pSym); + m_pSymbolName->SetText(pSym ? pSym->GetName() : OUString()); } const SmSym * SmSymbolDialog::GetSymbol() const { - sal_uInt16 nSymbolNo = aSymbolSetDisplay.GetSelectSymbol(); + sal_uInt16 nSymbolNo = m_pSymbolSetDisplay->GetSelectSymbol(); bool bValid = !aSymbolSetName.isEmpty() && nSymbolNo < static_cast< sal_uInt16 >(aSymbolSet.size()); return bValid ? aSymbolSet[ nSymbolNo ] : NULL; } diff --git a/starmath/source/smres.src b/starmath/source/smres.src index 91338dafc374..d17398dcdf32 100644 --- a/starmath/source/smres.src +++ b/starmath/source/smres.src @@ -974,89 +974,6 @@ TabPage RID_PRINTOPTIONPAGE }; }; -ModalDialog RID_SYMBOLDIALOG -{ - HelpID = "starmath:ModalDialog:RID_SYMBOLDIALOG"; - OutputSize = TRUE ; - SVLook = TRUE ; - Closeable = TRUE; // Close Button in Window Leiste explizit einbauen - Size = MAP_APPFONT ( 239 , 123 ) ; - Text [ en-US ] = "Symbols" ; - Moveable = TRUE ; - FixedText 1 - { - Pos = MAP_APPFONT ( 6 , 6 ) ; - Size = MAP_APPFONT ( 92 , 8 ) ; - Left = TRUE ; - Text [ en-US ] = "~Symbol set"; - }; - ListBox 1 - { - HelpID = "starmath:ListBox:RID_SYMBOLDIALOG:1"; - Border = TRUE ; - Pos = MAP_APPFONT ( 6 , 17 ) ; - Size = MAP_APPFONT ( 92, 57 ) ; - TabStop = TRUE ; - Sort = TRUE ; - DropDown = TRUE ; - VScroll = TRUE ; - }; - Control 1 - { - HelpID = HID_SMA_CONTROL_SYMBOLSET_VIEW ; - Border = TRUE ; - Pos = MAP_APPFONT ( 6 , 35 ) ; - Size = MAP_APPFONT ( 96 , 72 ) ; - TabStop = TRUE ; - }; - Control 2 - { - Border = TRUE ; - Pos = MAP_APPFONT ( 108 , 35 ) ; - Size = MAP_APPFONT ( 63 , 72 ) ; - }; - FixedText 2 - { - Center = TRUE ; - Pos = MAP_APPFONT ( 6 , 108 ) ; - Size = MAP_APPFONT ( 92 , 8 ) ; - Text [ en-US ] = "Unknown" ; - }; - PushButton 2 - { - HelpID = "starmath:PushButton:RID_SYMBOLDIALOG:2"; - TabStop = TRUE ; - Pos = MAP_APPFONT ( 177 , 6 ) ; - Size = MAP_APPFONT ( 56 , 14 ) ; - DefButton = TRUE ; - Text [ en-US ] = "~Insert" ; - }; - PushButton 3 - { - HelpID = "starmath:PushButton:RID_SYMBOLDIALOG:3"; - Pos = MAP_APPFONT ( 177 , 24 ) ; - Size = MAP_APPFONT ( 56 , 14 ) ; - TabStop = TRUE ; - Text [ en-US ] = "~Close"; - }; - PushButton 1 - { - HelpID = "starmath:PushButton:RID_SYMBOLDIALOG:1"; - TabStop = TRUE ; - Pos = MAP_APPFONT ( 177 , 42 ) ; - Size = MAP_APPFONT ( 56 , 14 ) ; - Text [ en-US ] = "~Edit..." ; - }; - HelpButton 1 - { - Pos = MAP_APPFONT ( 177 , 60 ) ; - Size = MAP_APPFONT ( 56 , 14 ) ; - TabStop = TRUE ; - HelpID = "starmath:HelpButton:RID_SYMBOLDIALOG:1"; - Text [ en-US ] = "~Help" ; - }; -}; - ModalDialog RID_SYMDEFINEDIALOG { HelpID = "starmath:ModalDialog:RID_SYMDEFINEDIALOG"; diff --git a/starmath/uiconfig/smath/ui/catalog.ui b/starmath/uiconfig/smath/ui/catalogdialog.ui index 0b49e410bc16..8c34badbcc12 100644 --- a/starmath/uiconfig/smath/ui/catalog.ui +++ b/starmath/uiconfig/smath/ui/catalogdialog.ui @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <interface> <!-- interface-requires gtk+ 3.0 --> - <object class="GtkDialog" id="catalog"> + <object class="GtkDialog" id="CatalogDialog"> <property name="can_focus">False</property> <property name="border_width">6</property> <property name="title" translatable="yes">Symbols</property> @@ -16,12 +16,13 @@ <property name="orientation">vertical</property> <property name="layout_style">start</property> <child> - <object class="GtkButton" id="button3"> + <object class="GtkButton" id="insert"> <property name="label" translatable="yes">_Insert</property> <property name="visible">True</property> <property name="can_focus">True</property> + <property name="can_default">True</property> + <property name="has_default">True</property> <property name="receives_default">True</property> - <property name="use_action_appearance">False</property> <property name="use_underline">True</property> </object> <packing> @@ -31,13 +32,13 @@ </packing> </child> <child> - <object class="GtkButton" id="button1"> - <property name="label" translatable="yes">_Close</property> + <object class="GtkButton" id="close"> + <property name="label">gtk-close</property> <property name="visible">True</property> <property name="can_focus">True</property> <property name="receives_default">True</property> - <property name="use_action_appearance">False</property> <property name="use_underline">True</property> + <property name="use_stock">True</property> </object> <packing> <property name="expand">False</property> @@ -46,12 +47,11 @@ </packing> </child> <child> - <object class="GtkButton" id="button2"> + <object class="GtkButton" id="edit"> <property name="label" translatable="yes">_Edit...</property> <property name="visible">True</property> <property name="can_focus">True</property> <property name="receives_default">True</property> - <property name="use_action_appearance">False</property> <property name="use_underline">True</property> </object> <packing> @@ -66,7 +66,6 @@ <property name="visible">True</property> <property name="can_focus">True</property> <property name="receives_default">True</property> - <property name="use_action_appearance">False</property> <property name="use_stock">True</property> </object> <packing> @@ -84,89 +83,96 @@ </packing> </child> <child> - <object class="GtkBox" id="box1"> + <object class="GtkGrid" id="grid1"> <property name="visible">True</property> <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <property name="row_spacing">6</property> + <property name="column_spacing">18</property> <child> - <object class="GtkBox" id="box2"> + <object class="GtkLabel" id="label1"> <property name="visible">True</property> <property name="can_focus">False</property> - <property name="orientation">vertical</property> - <child> - <object class="GtkLabel" id="label1"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="label" translatable="yes">_Symbol set</property> - <property name="use_underline">True</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">0</property> - </packing> - </child> - <child> - <object class="GtkSpinButton" id="spinbutton1"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="invisible_char">●</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">1</property> - </packing> - </child> - <child> - <object class="GtkScrolledWindow" id="scrolledwindow1"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="shadow_type">in</property> - <child> - <object class="GtkIconView" id="iconview1"> - <property name="visible">True</property> - <property name="can_focus">True</property> - <property name="model">liststore1</property> - </object> - </child> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">2</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="label2"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="label" translatable="yes">label</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">3</property> - </packing> - </child> + <property name="xalign">0</property> + <property name="label" translatable="yes">_Symbol set</property> + <property name="use_underline">True</property> </object> <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">0</property> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + <property name="width">1</property> + <property name="height">1</property> + </packing> + </child> + <child> + <object class="GtkComboBoxText" id="symbolset"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="margin_bottom">6</property> + <property name="entry_text_column">0</property> + <property name="id_column">1</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">1</property> + <property name="width">1</property> + <property name="height">1</property> + </packing> + </child> + <child> + <object class="smlo-SmShowSymbolSet" id="symbolsetdisplay"> + <property name="label" translatable="yes">button</property> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">2</property> + <property name="width">1</property> + <property name="height">1</property> </packing> </child> <child> - <object class="GtkImage" id="image1"> + <object class="smlo-SmShowSymbol" id="preview:border"> <property name="visible">True</property> <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> <property name="stock">gtk-missing-image</property> </object> <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">1</property> + <property name="left_attach">1</property> + <property name="top_attach">2</property> + <property name="width">1</property> + <property name="height">1</property> </packing> </child> + <child> + <object class="GtkLabel" id="symbolname"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">Unknown</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">3</property> + <property name="width">1</property> + <property name="height">1</property> + </packing> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> + <child> + <placeholder/> + </child> </object> <packing> <property name="expand">False</property> @@ -177,11 +183,25 @@ </object> </child> <action-widgets> - <action-widget response="0">button3</action-widget> - <action-widget response="0">button1</action-widget> - <action-widget response="0">button2</action-widget> + <action-widget response="0">insert</action-widget> + <action-widget response="0">close</action-widget> + <action-widget response="0">edit</action-widget> <action-widget response="0">help</action-widget> </action-widgets> </object> <object class="GtkListStore" id="liststore1"/> + <object class="GtkSizeGroup" id="sizegroup1"> + <property name="mode">vertical</property> + <widgets> + <widget name="preview:border"/> + <widget name="symbolsetdisplay"/> + </widgets> + </object> + <object class="GtkSizeGroup" id="sizegroup2"> + <widgets> + <widget name="preview:border"/> + <widget name="symbolsetdisplay"/> + <widget name="symbolset"/> + </widgets> + </object> </interface> |