diff options
author | Caolán McNamara <caolanm@redhat.com> | 2018-03-22 13:41:50 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2018-03-30 14:32:12 +0200 |
commit | 374599f8c26713905a310673d2b429083321186a (patch) | |
tree | 2ee4be182670b2ca9396a5f42d4122bed806a3ba /sfx2 | |
parent | Avoid crash-reporter crash. (diff) | |
download | core-374599f8c26713905a310673d2b429083321186a.tar.gz core-374599f8c26713905a310673d2b429083321186a.zip |
weld SvxCharacterMap dialog
and SmSymDefineDialog
There's a whole bunch of interrelated stuff which needs to work at the same
time.
add menu support, keyboard support, better mouse support,
a gtk scrollable adaptor to support pseudo scrolling drawing bodge,
plugable uitest support for custom widgets, plugable a11y support
for custom widgets via the existing atk_object_wrapper_new wrapper
for XAccessible
In this specific case, change SvxCharacterMap from something that has an
internal scrollbar to a scrolledwindow where the scrollbar is external, which
drops the need for the a11y impl of SvxCharacterMap to emulate being a scrolled
window and internal table and just needs the table a11y impl
Change-Id: Ia2743d6958021c525a1900154dcbb69ae33fc400
Reviewed-on: https://gerrit.libreoffice.org/52084
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'sfx2')
-rw-r--r-- | sfx2/UIConfig_sfx.mk | 1 | ||||
-rw-r--r-- | sfx2/source/control/charmapcontrol.cxx | 2 | ||||
-rw-r--r-- | sfx2/source/control/charwin.cxx | 265 | ||||
-rw-r--r-- | sfx2/uiconfig/ui/charmapcontrol.ui | 64 | ||||
-rw-r--r-- | sfx2/uiconfig/ui/charviewmenu.ui | 25 |
5 files changed, 307 insertions, 50 deletions
diff --git a/sfx2/UIConfig_sfx.mk b/sfx2/UIConfig_sfx.mk index b62db558fb6b..25fa661c203b 100644 --- a/sfx2/UIConfig_sfx.mk +++ b/sfx2/UIConfig_sfx.mk @@ -14,6 +14,7 @@ $(eval $(call gb_UIConfig_add_uifiles,sfx,\ sfx2/uiconfig/ui/bookmarkdialog \ sfx2/uiconfig/ui/bookmarkmenu \ sfx2/uiconfig/ui/charmapcontrol \ + sfx2/uiconfig/ui/charviewmenu \ sfx2/uiconfig/ui/checkin \ sfx2/uiconfig/ui/cmisinfopage \ sfx2/uiconfig/ui/cmisline \ diff --git a/sfx2/source/control/charmapcontrol.cxx b/sfx2/source/control/charmapcontrol.cxx index e7631351e805..7c5a01e0874e 100644 --- a/sfx2/source/control/charmapcontrol.cxx +++ b/sfx2/source/control/charmapcontrol.cxx @@ -184,7 +184,7 @@ IMPL_STATIC_LINK(SfxCharmapCtrl, LoseFocusHdl, Control&, pItem, void) } -IMPL_LINK(SfxCharmapCtrl, CharClickHdl, SvxCharView*, rView, void) +IMPL_LINK(SfxCharmapCtrl, CharClickHdl, SvxCharViewControl*, rView, void) { rView->GrabFocus(); rView->Invalidate(); diff --git a/sfx2/source/control/charwin.cxx b/sfx2/source/control/charwin.cxx index f58c76e04dd5..625cc018e1ae 100644 --- a/sfx2/source/control/charwin.cxx +++ b/sfx2/source/control/charwin.cxx @@ -29,8 +29,237 @@ using namespace com::sun::star; +SvxCharView::SvxCharView(weld::Builder& rBuilder, const OString& rId, const VclPtr<VirtualDevice>& rVirDev) + : mxVirDev(rVirDev) + , mxDrawingArea(rBuilder.weld_drawing_area(rId)) + , mnY(0) + , maPosition(0,0) + , maHasInsert(true) +{ + mxDrawingArea->connect_size_allocate(LINK(this, SvxCharView, DoResize)); + mxDrawingArea->connect_draw(LINK(this, SvxCharView, DoPaint)); + mxDrawingArea->connect_mouse_press(LINK(this, SvxCharView, DoMouseButtonDown)); + mxDrawingArea->connect_key_press(LINK(this, SvxCharView, DoKeyDown)); + + const StyleSettings& rStyleSettings = Application::GetSettings().GetStyleSettings(); + vcl::Font aFont = rStyleSettings.GetLabelFont(); + const Size aFontSize = aFont.GetFontSize(); + aFont.SetFontSize(Size(aFontSize.Width() * 2.5, aFontSize.Height() * 2.5)); + mxVirDev->Push(PUSH_ALLFONT); + mxVirDev->SetFont(aFont); + mxDrawingArea->set_size_request(mxVirDev->approximate_digit_width() * 2, + mxVirDev->GetTextHeight()); + mxVirDev->Pop(); +} + +IMPL_LINK(SvxCharView, DoMouseButtonDown, const MouseEvent&, rMEvt, void) +{ + if ( rMEvt.IsLeft() ) + { + if ( !(rMEvt.GetClicks() % 2) && maHasInsert ) + { + InsertCharToDoc(); + } + + maMouseClickHdl.Call(this); + } + + if (rMEvt.IsRight()) + { + Point aPosition(rMEvt.GetPosPixel()); + maPosition = aPosition; + mxDrawingArea->grab_focus(); + mxDrawingArea->queue_draw(); + createContextMenu(); + } +} + +IMPL_LINK(SvxCharView, DoKeyDown, const KeyEvent&, rKEvt, bool) +{ + bool bRet = false; + vcl::KeyCode aCode = rKEvt.GetKeyCode(); + switch (aCode.GetCode()) + { + case KEY_SPACE: + case KEY_RETURN: + InsertCharToDoc(); + bRet = true; + break; + } + return bRet; +} + +void SvxCharView::InsertCharToDoc() +{ + if (GetText().isEmpty()) + return; + + uno::Reference< uno::XComponentContext > xContext( comphelper::getProcessComponentContext() ); + + uno::Sequence<beans::PropertyValue> aArgs(2); + aArgs[0].Name = "Symbols"; + aArgs[0].Value <<= GetText(); + + aArgs[1].Name = "FontName"; + aArgs[1].Value <<= maFont.GetFamilyName(); + + comphelper::dispatchCommand(".uno:InsertSymbol", aArgs); +} + +void SvxCharView::createContextMenu() +{ + std::unique_ptr<weld::Builder> xBuilder(Application::CreateBuilder(mxDrawingArea.get(), "sfx/ui/charviewmenu.ui")); + std::unique_ptr<weld::Menu> xItemMenu(xBuilder->weld_menu("charviewmenu")); + ContextMenuSelect(xItemMenu->popup_at_rect(mxDrawingArea.get(), tools::Rectangle(maPosition, Size(1,1)))); + queue_draw(); +} + +void SvxCharView::ContextMenuSelect(const OString& rMenuId) +{ + if (rMenuId == "clearchar") + maClearClickHdl.Call(this); + else if (rMenuId == "clearallchar") + maClearAllClickHdl.Call(this); +} + +IMPL_LINK(SvxCharView, DoPaint, weld::DrawingArea::draw_args, aPayload, void) +{ + vcl::RenderContext& rRenderContext = aPayload.first; + + rRenderContext.SetFont(maFont); + + const StyleSettings& rStyleSettings = Application::GetSettings().GetStyleSettings(); + const Color aWindowTextColor(rStyleSettings.GetFieldTextColor()); + Color aHighlightColor(rStyleSettings.GetHighlightColor()); + Color aHighlightTextColor(rStyleSettings.GetHighlightTextColor()); + Color aFillColor(rStyleSettings.GetWindowColor()); + Color aTextColor(rStyleSettings.GetWindowTextColor()); + + const OUString aText = GetText(); + + long nAvailWidth = m_aSize.Width(); + long nWinHeight = m_aSize.Height(); + + bool bGotBoundary = true; + bool bShrankFont = false; + vcl::Font aOrigFont(rRenderContext.GetFont()); + Size aFontSize(aOrigFont.GetFontSize()); + ::tools::Rectangle aBoundRect; -SvxCharView::SvxCharView(vcl::Window* pParent) + for (long nFontHeight = aFontSize.Height(); nFontHeight > 0; nFontHeight -= 1) + { + if (!rRenderContext.GetTextBoundRect( aBoundRect, aText ) || aBoundRect.IsEmpty()) + { + bGotBoundary = false; + break; + } + + //only shrink in the single glyph large view mode + long nTextWidth = aBoundRect.GetWidth(); + if (nAvailWidth > nTextWidth) + break; + vcl::Font aFont(aOrigFont); + aFontSize.setHeight( nFontHeight ); + aFont.SetFontSize(aFontSize); + rRenderContext.SetFont(aFont); + mnY = (nWinHeight - rRenderContext.GetTextHeight()) / 2; + bShrankFont = true; + } + + Point aPoint(2, mnY); + + if (!bGotBoundary) + aPoint.setX( (m_aSize.Width() - rRenderContext.GetTextWidth(aText)) / 2 ); + else + { + // adjust position + aBoundRect += aPoint; + + // vertical adjustment + int nYLDelta = aBoundRect.Top(); + int nYHDelta = m_aSize.Height() - aBoundRect.Bottom(); + if( nYLDelta <= 0 ) + aPoint.AdjustY( -(nYLDelta - 1) ); + else if( nYHDelta <= 0 ) + aPoint.AdjustY(nYHDelta - 1 ); + + // centrally align glyph + aPoint.setX( -aBoundRect.Left() + (m_aSize.Width() - aBoundRect.GetWidth()) / 2 ); + } + + if (mxDrawingArea->has_focus()) + { + rRenderContext.SetFillColor(aHighlightColor); + rRenderContext.DrawRect(tools::Rectangle(Point(0, 0), m_aSize)); + + rRenderContext.SetTextColor(aHighlightTextColor); + rRenderContext.DrawText(aPoint, aText); + } + else + { + rRenderContext.SetFillColor(aFillColor); + rRenderContext.DrawRect(tools::Rectangle(Point(0, 0), m_aSize)); + + rRenderContext.SetTextColor(aWindowTextColor); + rRenderContext.DrawText(aPoint, aText); + } + rRenderContext.SetFillColor(aFillColor); + rRenderContext.SetTextColor(aTextColor); + + if (bShrankFont) + rRenderContext.SetFont(aOrigFont); +} + +void SvxCharView::setMouseClickHdl(const Link<SvxCharView*,void> &rLink) +{ + maMouseClickHdl = rLink; +} + +void SvxCharView::setClearClickHdl(const Link<SvxCharView*,void> &rLink) +{ + maClearClickHdl = rLink; +} + +void SvxCharView::setClearAllClickHdl(const Link<SvxCharView*,void> &rLink) +{ + maClearAllClickHdl = rLink; +} + +void SvxCharView::SetFont( const vcl::Font& rFont ) +{ + long nWinHeight = m_aSize.Height(); + maFont = vcl::Font(rFont); + maFont.SetWeight(WEIGHT_NORMAL); + maFont.SetAlignment(ALIGN_TOP); + maFont.SetFontSize(mxVirDev->PixelToLogic(Size(0, nWinHeight / 2))); + maFont.SetTransparent(true); + + mxVirDev->Push(PUSH_ALLFONT); + mxVirDev->SetFont(maFont); + mnY = (nWinHeight - mxVirDev->GetTextHeight()) / 2; + mxVirDev->Pop(); + + queue_draw(); +} + +IMPL_LINK(SvxCharView, DoResize, const Size&, rSize, void) +{ + m_aSize = rSize; + SetFont(GetFont()); //force recalculation of size +} + +void SvxCharView::SetText( const OUString& rText ) +{ + m_sText = rText; + queue_draw(); +} + +void SvxCharView::SetHasInsert( bool bInsert ) +{ + maHasInsert = bInsert; +} + +SvxCharViewControl::SvxCharViewControl(vcl::Window* pParent) : Control(pParent, WB_TABSTOP | WB_BORDER) , mnY(0) , maPosition(0,0) @@ -38,9 +267,9 @@ SvxCharView::SvxCharView(vcl::Window* pParent) { } -VCL_BUILDER_FACTORY(SvxCharView) +VCL_BUILDER_FACTORY(SvxCharViewControl) -void SvxCharView::MouseButtonDown( const MouseEvent& rMEvt ) +void SvxCharViewControl::MouseButtonDown( const MouseEvent& rMEvt ) { Control::MouseButtonDown(rMEvt); @@ -65,7 +294,7 @@ void SvxCharView::MouseButtonDown( const MouseEvent& rMEvt ) } } -void SvxCharView::KeyInput( const KeyEvent& rKEvt ) +void SvxCharViewControl::KeyInput( const KeyEvent& rKEvt ) { vcl::KeyCode aCode = rKEvt.GetKeyCode(); @@ -79,7 +308,7 @@ void SvxCharView::KeyInput( const KeyEvent& rKEvt ) Control::KeyInput(rKEvt); } -void SvxCharView::InsertCharToDoc() +void SvxCharViewControl::InsertCharToDoc() { if(GetText().isEmpty()) return; @@ -96,17 +325,17 @@ void SvxCharView::InsertCharToDoc() comphelper::dispatchCommand(".uno:InsertSymbol", aArgs); } -void SvxCharView::createContextMenu() +void SvxCharViewControl::createContextMenu() { ScopedVclPtrInstance<PopupMenu> pItemMenu; pItemMenu->InsertItem(0,SfxResId(STR_CLEAR_CHAR)); pItemMenu->InsertItem(1,SfxResId(STR_CLEAR_ALL_CHAR)); - pItemMenu->SetSelectHdl(LINK(this, SvxCharView, ContextMenuSelectHdl)); + pItemMenu->SetSelectHdl(LINK(this, SvxCharViewControl, ContextMenuSelectHdl)); pItemMenu->Execute(this, tools::Rectangle(maPosition,Size(1,1)), PopupMenuFlags::ExecuteDown); Invalidate(); } -IMPL_LINK(SvxCharView, ContextMenuSelectHdl, Menu*, pMenu, bool) +IMPL_LINK(SvxCharViewControl, ContextMenuSelectHdl, Menu*, pMenu, bool) { sal_uInt16 nMenuId = pMenu->GetCurItemId(); @@ -124,7 +353,7 @@ IMPL_LINK(SvxCharView, ContextMenuSelectHdl, Menu*, pMenu, bool) return false; } -void SvxCharView::Paint(vcl::RenderContext& rRenderContext, const ::tools::Rectangle&) +void SvxCharViewControl::Paint(vcl::RenderContext& rRenderContext, const ::tools::Rectangle&) { rRenderContext.SetFont(maFont); @@ -211,22 +440,22 @@ void SvxCharView::Paint(vcl::RenderContext& rRenderContext, const ::tools::Recta rRenderContext.SetFont(aOrigFont); } -void SvxCharView::setMouseClickHdl(const Link<SvxCharView*,void> &rLink) +void SvxCharViewControl::setMouseClickHdl(const Link<SvxCharViewControl*,void> &rLink) { maMouseClickHdl = rLink; } -void SvxCharView::setClearClickHdl(const Link<SvxCharView*,void> &rLink) +void SvxCharViewControl::setClearClickHdl(const Link<SvxCharViewControl*,void> &rLink) { maClearClickHdl = rLink; } -void SvxCharView::setClearAllClickHdl(const Link<SvxCharView*,void> &rLink) +void SvxCharViewControl::setClearAllClickHdl(const Link<SvxCharViewControl*,void> &rLink) { maClearAllClickHdl = rLink; } -void SvxCharView::SetFont( const vcl::Font& rFont ) +void SvxCharViewControl::SetFont( const vcl::Font& rFont ) { long nWinHeight = GetOutputSizePixel().Height(); maFont = vcl::Font(rFont); @@ -241,7 +470,7 @@ void SvxCharView::SetFont( const vcl::Font& rFont ) Invalidate(); } -Size SvxCharView::GetOptimalSize() const +Size SvxCharViewControl::GetOptimalSize() const { const vcl::Font &rFont = GetFont(); const Size rFontSize = rFont.GetFontSize(); @@ -249,20 +478,22 @@ Size SvxCharView::GetOptimalSize() const return Size( GetTextWidth( GetText() ) + 2 * 12, nWinHeight ); } -void SvxCharView::Resize() +void SvxCharViewControl::Resize() { Control::Resize(); SetFont(GetFont()); } -void SvxCharView::SetText( const OUString& rText ) +void SvxCharViewControl::SetText( const OUString& rText ) { Control::SetText( rText ); Invalidate(); } -void SvxCharView::SetHasInsert( bool bInsert ) +void SvxCharViewControl::SetHasInsert( bool bInsert ) { maHasInsert = bInsert; } + +/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */ diff --git a/sfx2/uiconfig/ui/charmapcontrol.ui b/sfx2/uiconfig/ui/charmapcontrol.ui index af77f159e021..510b079e61ca 100644 --- a/sfx2/uiconfig/ui/charmapcontrol.ui +++ b/sfx2/uiconfig/ui/charmapcontrol.ui @@ -37,7 +37,7 @@ <property name="visible">True</property> <property name="can_focus">False</property> <child> - <object class="sfxlo-SvxCharView" id="favchar1"> + <object class="sfxlo-SvxCharViewControl" id="favchar1"> <property name="width_request">35</property> <property name="height_request">35</property> <property name="visible">True</property> @@ -49,7 +49,7 @@ </packing> </child> <child> - <object class="sfxlo-SvxCharView" id="favchar2"> + <object class="sfxlo-SvxCharViewControl" id="favchar2"> <property name="width_request">35</property> <property name="height_request">35</property> <property name="visible">True</property> @@ -61,7 +61,7 @@ </packing> </child> <child> - <object class="sfxlo-SvxCharView" id="favchar4"> + <object class="sfxlo-SvxCharViewControl" id="favchar4"> <property name="width_request">35</property> <property name="height_request">35</property> <property name="visible">True</property> @@ -73,7 +73,7 @@ </packing> </child> <child> - <object class="sfxlo-SvxCharView" id="favchar3"> + <object class="sfxlo-SvxCharViewControl" id="favchar3"> <property name="width_request">35</property> <property name="height_request">35</property> <property name="visible">True</property> @@ -85,7 +85,7 @@ </packing> </child> <child> - <object class="sfxlo-SvxCharView" id="favchar5"> + <object class="sfxlo-SvxCharViewControl" id="favchar5"> <property name="width_request">35</property> <property name="height_request">35</property> <property name="visible">True</property> @@ -97,7 +97,7 @@ </packing> </child> <child> - <object class="sfxlo-SvxCharView" id="favchar6"> + <object class="sfxlo-SvxCharViewControl" id="favchar6"> <property name="width_request">35</property> <property name="height_request">35</property> <property name="visible">True</property> @@ -109,7 +109,7 @@ </packing> </child> <child> - <object class="sfxlo-SvxCharView" id="favchar7"> + <object class="sfxlo-SvxCharViewControl" id="favchar7"> <property name="width_request">35</property> <property name="height_request">35</property> <property name="visible">True</property> @@ -121,7 +121,7 @@ </packing> </child> <child> - <object class="sfxlo-SvxCharView" id="favchar8"> + <object class="sfxlo-SvxCharViewControl" id="favchar8"> <property name="width_request">35</property> <property name="height_request">35</property> <property name="visible">True</property> @@ -133,7 +133,7 @@ </packing> </child> <child> - <object class="sfxlo-SvxCharView" id="favchar9"> + <object class="sfxlo-SvxCharViewControl" id="favchar9"> <property name="width_request">35</property> <property name="height_request">35</property> <property name="visible">True</property> @@ -145,7 +145,7 @@ </packing> </child> <child> - <object class="sfxlo-SvxCharView" id="favchar10"> + <object class="sfxlo-SvxCharViewControl" id="favchar10"> <property name="width_request">35</property> <property name="height_request">35</property> <property name="visible">True</property> @@ -157,7 +157,7 @@ </packing> </child> <child> - <object class="sfxlo-SvxCharView" id="favchar11"> + <object class="sfxlo-SvxCharViewControl" id="favchar11"> <property name="width_request">35</property> <property name="height_request">35</property> <property name="visible">True</property> @@ -169,7 +169,7 @@ </packing> </child> <child> - <object class="sfxlo-SvxCharView" id="favchar12"> + <object class="sfxlo-SvxCharViewControl" id="favchar12"> <property name="width_request">35</property> <property name="height_request">35</property> <property name="visible">True</property> @@ -181,7 +181,7 @@ </packing> </child> <child> - <object class="sfxlo-SvxCharView" id="favchar13"> + <object class="sfxlo-SvxCharViewControl" id="favchar13"> <property name="width_request">35</property> <property name="height_request">35</property> <property name="visible">True</property> @@ -193,7 +193,7 @@ </packing> </child> <child> - <object class="sfxlo-SvxCharView" id="favchar14"> + <object class="sfxlo-SvxCharViewControl" id="favchar14"> <property name="width_request">35</property> <property name="height_request">35</property> <property name="visible">True</property> @@ -205,7 +205,7 @@ </packing> </child> <child> - <object class="sfxlo-SvxCharView" id="favchar15"> + <object class="sfxlo-SvxCharViewControl" id="favchar15"> <property name="width_request">35</property> <property name="height_request">35</property> <property name="visible">True</property> @@ -217,7 +217,7 @@ </packing> </child> <child> - <object class="sfxlo-SvxCharView" id="favchar16"> + <object class="sfxlo-SvxCharViewControl" id="favchar16"> <property name="width_request">35</property> <property name="height_request">35</property> <property name="visible">True</property> @@ -260,7 +260,7 @@ <property name="row_homogeneous">True</property> <property name="column_homogeneous">True</property> <child> - <object class="sfxlo-SvxCharView" id="viewchar1"> + <object class="sfxlo-SvxCharViewControl" id="viewchar1"> <property name="width_request">35</property> <property name="height_request">35</property> <property name="visible">True</property> @@ -272,7 +272,7 @@ </packing> </child> <child> - <object class="sfxlo-SvxCharView" id="viewchar2"> + <object class="sfxlo-SvxCharViewControl" id="viewchar2"> <property name="width_request">35</property> <property name="height_request">35</property> <property name="visible">True</property> @@ -284,7 +284,7 @@ </packing> </child> <child> - <object class="sfxlo-SvxCharView" id="viewchar4"> + <object class="sfxlo-SvxCharViewControl" id="viewchar4"> <property name="width_request">35</property> <property name="height_request">35</property> <property name="visible">True</property> @@ -296,7 +296,7 @@ </packing> </child> <child> - <object class="sfxlo-SvxCharView" id="viewchar3"> + <object class="sfxlo-SvxCharViewControl" id="viewchar3"> <property name="width_request">35</property> <property name="height_request">35</property> <property name="visible">True</property> @@ -308,7 +308,7 @@ </packing> </child> <child> - <object class="sfxlo-SvxCharView" id="viewchar5"> + <object class="sfxlo-SvxCharViewControl" id="viewchar5"> <property name="width_request">35</property> <property name="height_request">35</property> <property name="visible">True</property> @@ -320,7 +320,7 @@ </packing> </child> <child> - <object class="sfxlo-SvxCharView" id="viewchar6"> + <object class="sfxlo-SvxCharViewControl" id="viewchar6"> <property name="width_request">35</property> <property name="height_request">35</property> <property name="visible">True</property> @@ -332,7 +332,7 @@ </packing> </child> <child> - <object class="sfxlo-SvxCharView" id="viewchar16"> + <object class="sfxlo-SvxCharViewControl" id="viewchar16"> <property name="width_request">35</property> <property name="height_request">35</property> <property name="visible">True</property> @@ -344,7 +344,7 @@ </packing> </child> <child> - <object class="sfxlo-SvxCharView" id="viewchar15"> + <object class="sfxlo-SvxCharViewControl" id="viewchar15"> <property name="width_request">35</property> <property name="height_request">35</property> <property name="visible">True</property> @@ -356,7 +356,7 @@ </packing> </child> <child> - <object class="sfxlo-SvxCharView" id="viewchar14"> + <object class="sfxlo-SvxCharViewControl" id="viewchar14"> <property name="width_request">35</property> <property name="height_request">35</property> <property name="visible">True</property> @@ -368,7 +368,7 @@ </packing> </child> <child> - <object class="sfxlo-SvxCharView" id="viewchar13"> + <object class="sfxlo-SvxCharViewControl" id="viewchar13"> <property name="width_request">35</property> <property name="height_request">35</property> <property name="visible">True</property> @@ -380,7 +380,7 @@ </packing> </child> <child> - <object class="sfxlo-SvxCharView" id="viewchar12"> + <object class="sfxlo-SvxCharViewControl" id="viewchar12"> <property name="width_request">35</property> <property name="height_request">35</property> <property name="visible">True</property> @@ -392,7 +392,7 @@ </packing> </child> <child> - <object class="sfxlo-SvxCharView" id="viewchar11"> + <object class="sfxlo-SvxCharViewControl" id="viewchar11"> <property name="width_request">35</property> <property name="height_request">35</property> <property name="visible">True</property> @@ -404,7 +404,7 @@ </packing> </child> <child> - <object class="sfxlo-SvxCharView" id="viewchar10"> + <object class="sfxlo-SvxCharViewControl" id="viewchar10"> <property name="width_request">35</property> <property name="height_request">35</property> <property name="visible">True</property> @@ -416,7 +416,7 @@ </packing> </child> <child> - <object class="sfxlo-SvxCharView" id="viewchar9"> + <object class="sfxlo-SvxCharViewControl" id="viewchar9"> <property name="width_request">35</property> <property name="height_request">35</property> <property name="visible">True</property> @@ -428,7 +428,7 @@ </packing> </child> <child> - <object class="sfxlo-SvxCharView" id="viewchar8"> + <object class="sfxlo-SvxCharViewControl" id="viewchar8"> <property name="width_request">35</property> <property name="height_request">35</property> <property name="visible">True</property> @@ -440,7 +440,7 @@ </packing> </child> <child> - <object class="sfxlo-SvxCharView" id="viewchar7"> + <object class="sfxlo-SvxCharViewControl" id="viewchar7"> <property name="width_request">35</property> <property name="height_request">35</property> <property name="visible">True</property> diff --git a/sfx2/uiconfig/ui/charviewmenu.ui b/sfx2/uiconfig/ui/charviewmenu.ui new file mode 100644 index 000000000000..f0ff54ec195b --- /dev/null +++ b/sfx2/uiconfig/ui/charviewmenu.ui @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Generated with glade 3.20.2 --> +<interface domain="cui"> + <requires lib="gtk+" version="3.18"/> + <object class="GtkMenu" id="charviewmenu"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <child> + <object class="GtkMenuItem" id="clearchar"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes" context="charviewmenu|clearchar">Remove</property> + <property name="use_underline">True</property> + </object> + </child> + <child> + <object class="GtkMenuItem" id="clearallchar"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes" context="charviewmenu|clearallchar">Clear All</property> + <property name="use_underline">True</property> + </object> + </child> + </object> +</interface> |