convert writer navigator to .ui format

Change-Id: I83f834ea050372362b50de61753c2b3e33c67778
This commit is contained in:
Caolán McNamara
2016-10-10 15:09:24 +01:00
parent 51e5e4970b
commit 33603a582b
16 changed files with 1088 additions and 1011 deletions

View File

@@ -745,6 +745,11 @@
<glade-widget-class title="Sidebar ToolBox" name="sfxlo-SidebarToolBox"
generic-name="Sidebar ToolBox" parent="GtkToolbar"
icon-name="widget-gtk-toolbar"/>
<glade-widget-class title="Writer Navigator ToolBox" name="swlo-SwNavHelpToolBox"
generic-name="Writer Navigator ToolBox" parent="GtkToolbar"
icon-name="widget-gtk-toolbar"/>
<glade-widget-class title="Tab Stop Images" name="cuilo-TabWin_Impl"
generic-name="TabWin_Impl" parent="GtkDrawingArea"
icon-name="widget-gtk-drawingarea"/>

View File

@@ -129,6 +129,7 @@ public:
void SetNavigatorDlgFlag(bool isInNavigateDlg){ bisInNavigatoeDlg=isInNavigateDlg;};
virtual void MouseButtonDown( const MouseEvent& rMEvt ) override;
virtual void KeyInput( const KeyEvent& rKEvt ) override;
virtual Size GetOptimalSize() const override;
void InitWindowBits( bool bButtons );

View File

@@ -134,6 +134,11 @@ ScContentTree::ScContentTree(vcl::Window* pParent, ScNavigatorDlg* pNavigatorDlg
pTmpEntry= nullptr;
}
Size ScContentTree::GetOptimalSize() const
{
return LogicToPixel(Size(110, 100), MapUnit::MapAppFont);
}
ScContentTree::~ScContentTree()
{
disposeOnce();

View File

@@ -83,11 +83,7 @@ ColumnEdit::~ColumnEdit()
disposeOnce();
}
VCL_BUILDER_DECL_FACTORY(ColumnEdit)
{
(void)rMap;
rRet = VclPtr<ColumnEdit>::Create(pParent, WB_BORDER | WB_SPIN | WB_REPEAT | WB_RIGHT);
}
VCL_BUILDER_FACTORY_ARGS(ColumnEdit, WB_BORDER | WB_SPIN | WB_REPEAT | WB_RIGHT)
bool ColumnEdit::Notify( NotifyEvent& rNEvt )
{
@@ -264,11 +260,7 @@ RowEdit::~RowEdit()
disposeOnce();
}
VCL_BUILDER_DECL_FACTORY(RowEdit)
{
(void)rMap;
rRet = VclPtr<RowEdit>::Create(pParent, WB_BORDER | WB_SPIN | WB_REPEAT | WB_RIGHT);
}
VCL_BUILDER_FACTORY_ARGS(RowEdit, WB_BORDER | WB_SPIN | WB_REPEAT | WB_RIGHT)
bool RowEdit::Notify( NotifyEvent& rNEvt )
{
@@ -417,9 +409,9 @@ void ScNavigatorDlg::UpdateButtons()
aTbxCmd->SetItemImage(nDragModeId, Image(ScResId(nImageId)));
}
ScNavigatorSettings::ScNavigatorSettings() :
mnRootSelected( ScContentId::ROOT ),
mnChildSelected( SC_CONTENT_NOCHILD )
ScNavigatorSettings::ScNavigatorSettings()
: mnRootSelected(ScContentId::ROOT)
, mnChildSelected(SC_CONTENT_NOCHILD)
{
}

View File

@@ -204,6 +204,7 @@ $(eval $(call gb_UIConfig_add_uifiles,modules/swriter,\
sw/uiconfig/swriter/ui/mmselectpage \
sw/uiconfig/swriter/ui/mmsendmails \
sw/uiconfig/swriter/ui/mmsalutationpage \
sw/uiconfig/swriter/ui/navigatorpanel \
sw/uiconfig/swriter/ui/notebookbar \
sw/uiconfig/swriter/ui/notebookbar_groups \
sw/uiconfig/swriter/ui/notebookbar_single \

View File

@@ -115,24 +115,10 @@
#define FN_NEXT_BOOKMARK (FN_EDIT + 68) /* */
#define FN_PREV_BOOKMARK (FN_EDIT + 69) /* */
/*Navigator ToolBoxes*/
#define FN_ITEM_DOWN (FN_EDIT + 71) /**/
#define FN_ITEM_LEFT (FN_EDIT + 72) /**/
#define FN_ITEM_RIGHT (FN_EDIT + 73) /**/
#define FN_ITEM_UP (FN_EDIT + 74) /**/
#define FN_DOWN (FN_EDIT + 75) /**/
#define FN_SELECT_FOOTER (FN_EDIT + 77) /**/
#define FN_SELECT_HEADER (FN_EDIT + 79) /**/
#define FN_PAGENUMBER (FN_EDIT + 80) /**/
#define FN_SELECT_FOOTNOTE (FN_EDIT + 82) /**/
#define FN_SELECT_SET_AUTO_BOOKMARK (FN_EDIT + 83) /**/
#define FN_UP (FN_EDIT + 86) /**/
#define FN_SELECT_PARA (FN_EDIT + 97) /* select paragraph*/
#define FN_SELECT_CONTENT (FN_EDIT + 99) /* Navigator - Content Type */
#define FN_UPDATE_ALL_LINKS (FN_EDIT2 + 24) /* update all links */
#define FN_REDLINE_SHOW (FN_EDIT2 + 26) /* show Redlining */
@@ -178,28 +164,13 @@
#define FN_SET_PAGE (FN_VIEW + 29) /* Set page template to paragraph */
// more Navigator
#define FN_SHOW_CONTENT_BOX (FN_VIEW + 33) /**/
#define FN_SHOW_ROOT (FN_VIEW + 34) /**/
#define FN_DROP_REGION (FN_VIEW + 35) /**/
#define FN_OUTLINE_LEVEL (FN_VIEW + 36) /**/
#define FN_PRINT_LAYOUT (FN_VIEW + 37) /* print layout */
#define FN_DROP_REGION_LINK (FN_VIEW + 38) /**/
#define FN_DROP_REGION_COPY (FN_VIEW + 39) /**/
#define FN_SCROLL_NAVIGATION (FN_VIEW + 40) /* Navigation Controller */
#define FN_VIEW_HIDDEN_PARA (FN_VIEW + 42) /* View hidden paragraphs */
#define FN_VIEW_SMOOTH_SCROLL (FN_VIEW + 43)
#define FN_GLOBAL_SWITCH (FN_VIEW + 44) /* Toggle between Global and Content */
#define FN_GLOBAL_EDIT (FN_VIEW + 45) /* edit */
#define FN_GLOBAL_UPDATE (FN_VIEW + 46) /* update */
#define FN_GLOBAL_OPEN (FN_VIEW + 47) /* open */
#define FN_GLOBAL_SAVE_CONTENT (FN_VIEW + 48) /* save content of link */
#define FN_CREATE_NAVIGATION (FN_VIEW + 49) /* create Navigations-Controller */
#define FN_PREVIEW_ZOOM (FN_VIEW + 51) /* create table controller for zoom */
#define FN_SET_MODOPT_TBLNUMFMT (FN_VIEW + 52) /* Number recognition in tables */

View File

@@ -43,30 +43,7 @@
#define HID_NAVIGATOR_TREELIST "SW_HID_NAVIGATOR_TREELIST"
#define HID_NAVIGATOR_TOOLBOX "SW_HID_NAVIGATOR_TOOLBOX"
#define HID_NAVIGATOR_LISTBOX "SW_HID_NAVIGATOR_LISTBOX"
#define HID_NAVI_TBX2 "SW_HID_NAVI_TBX2"
#define HID_NAVI_TBX3 "SW_HID_NAVI_TBX3"
#define HID_NAVI_TBX4 "SW_HID_NAVI_TBX4"
#define HID_NAVI_TBX5 "SW_HID_NAVI_TBX5"
#define HID_NAVI_TBX6 "SW_HID_NAVI_TBX6"
#define HID_NAVI_TBX7 "SW_HID_NAVI_TBX7"
#define HID_NAVI_TBX8 "SW_HID_NAVI_TBX8"
#define HID_NAVI_TBX9 "SW_HID_NAVI_TBX9"
#define HID_NAVI_TBX10 "SW_HID_NAVI_TBX10"
#define HID_NAVI_TBX11 "SW_HID_NAVI_TBX11"
#define HID_NAVI_TBX12 "SW_HID_NAVI_TBX12"
#define HID_NAVI_TBX13 "SW_HID_NAVI_TBX13"
#define HID_NAVI_TBX14 "SW_HID_NAVI_TBX14"
#define HID_NAVI_TBX15 "SW_HID_NAVI_TBX15"
#define HID_NAVI_VS "SW_HID_NAVI_VS"
#define HID_NAVI_TBX16 "SW_HID_NAVI_TBX16"
#define HID_NAVI_TBX17 "SW_HID_NAVI_TBX17"
#define HID_NAVI_TBX18 "SW_HID_NAVI_TBX18"
#define HID_NAVI_TBX19 "SW_HID_NAVI_TBX19"
#define HID_NAVI_TBX20 "SW_HID_NAVI_TBX20"
#define HID_NAVI_TBX21 "SW_HID_NAVI_TBX21"
#define HID_NAVI_TBX22 "SW_HID_NAVI_TBX22"
#define HID_NAVI_TBX23 "SW_HID_NAVI_TBX23"
#define HID_NAVI_TBX24 "SW_HID_NAVI_TBX24"
#define HID_NAVIGATOR_GLOBAL_TOOLBOX "SW_HID_NAVIGATOR_GLOBAL_TOOLBOX"
#define HID_NAVIGATOR_GLOB_TREELIST "SW_HID_NAVIGATOR_GLOB_TREELIST"
#define HID_GLBLTREE_UPDATE "SW_HID_GLBLTREE_UPDATE"
@@ -81,8 +58,6 @@
#define HID_GLBLTREE_UPD_IDX "SW_HID_GLBLTREE_UPD_IDX"
#define HID_GLBLTREE_UPD_LINK "SW_HID_GLBLTREE_UPD_LINK"
#define HID_GLBLTREEUPD_ALL "SW_HID_GLBLTREEUPD_ALL"
#define HID_NAVI_CONTENT "SW_HID_NAVI_CONTENT"
#define HID_NAVI_GLOBAL "SW_HID_NAVI_GLOBAL"
#define HID_SORT_ACTION "SW_HID_SORT_ACTION"
#define HID_SORT_AUTHOR "SW_HID_SORT_AUTHOR"
#define HID_SORT_DATE "SW_HID_SORT_DATE"
@@ -172,13 +147,9 @@
// More Help-IDs
#define HID_EDIT_FORMULA "SW_HID_EDIT_FORMULA"
#define HID_NAVIGATION_PI "SW_HID_NAVIGATION_PI"
#define HID_CALC_TOOLBOX "SW_HID_CALC_TOOLBOX"
#define HID_AUTOFORMAT_REJECT "SW_HID_AUTOFORMAT_REJECT"
#define HID_AUTOFORMAT_ACCEPT "SW_HID_AUTOFORMAT_ACCEPT"
#define HID_AUTOFORMAT_EDIT_CHG "SW_HID_AUTOFORMAT_EDIT_CHG"

View File

@@ -55,6 +55,7 @@ class SwContentTree
: public SvTreeListBox
, public SfxListener
{
VclPtr<SwNavigationPI> m_xDialog;
ImageList m_aEntryImages;
OUString m_sSpace;
AutoTimer m_aUpdTimer;
@@ -156,7 +157,7 @@ protected:
virtual void ExecuteContextMenuAction( sal_uInt16 nSelectedPopupEntry ) override;
public:
SwContentTree(vcl::Window* pParent, const ResId& rResId);
SwContentTree(vcl::Window* pParent, SwNavigationPI* pDialog);
virtual ~SwContentTree() override;
virtual void dispose() override;
OUString GetEntryAltText( SvTreeListEntry* pEntry ) const override;
@@ -199,7 +200,7 @@ public:
virtual bool Collapse( SvTreeListEntry* pParent ) override;
/** Execute commands of the Navigator */
void ExecCommand(sal_uInt16 nCmd, bool bModifier);
void ExecCommand(const OUString& rCmd, bool bModifier);
void ShowTree();
/** folded together will not be glidled */
@@ -221,6 +222,7 @@ public:
virtual void KeyInput(const KeyEvent& rKEvt) override;
virtual bool Select( SvTreeListEntry* pEntry, bool bSelect=true ) override;
virtual Size GetOptimalSize() const override;
using Control::Notify; // FIXME why do we have 2 of these
virtual void Notify(SfxBroadcaster& rBC, SfxHint const& rHint) override;
@@ -247,10 +249,11 @@ namespace sfx2 { class FileDialogHelper; }
class SwGlobalTree : public SvTreeListBox
{
private:
AutoTimer aUpdateTimer;
OUString aContextStrings[GLOBAL_CONTEXT_COUNT];
VclPtr<SwNavigationPI> xDialog;
AutoTimer aUpdateTimer;
OUString aContextStrings[GLOBAL_CONTEXT_COUNT];
ImageList aEntryImages;
ImageList aEntryImages;
SwWrtShell* pActiveShell;
SvTreeListEntry* pEmphasisEntry; // Drag'n Drop emphasis
@@ -330,9 +333,10 @@ protected:
virtual void ExecuteContextMenuAction( sal_uInt16 nSelectedPopupEntry ) override;
public:
SwGlobalTree(vcl::Window* pParent, const ResId& rResId);
SwGlobalTree(vcl::Window* pParent, SwNavigationPI* pDialog);
virtual ~SwGlobalTree() override;
virtual void dispose() override;
virtual Size GetOptimalSize() const override;
void TbxMenuHdl(sal_uInt16 nTbxId, ToolBox* pBox);
void InsertRegion( const SwGlblDocContent* pCont,
@@ -342,7 +346,7 @@ public:
void ShowTree();
void HideTree();
void ExecCommand(sal_uInt16 nCmd);
void ExecCommand(const OUString& rCmd);
void Display(bool bOnlyUpdateUserData = false);

View File

@@ -27,6 +27,7 @@
#include <sfx2/childwin.hxx>
#include <sfx2/ctrlitem.hxx>
#include <sfx2/tbxctrl.hxx>
#include <svx/sidebar/PanelLayout.hxx>
#include <conttree.hxx>
class SwWrtShell;
@@ -38,20 +39,26 @@ class SwView;
class SwNavigationConfig;
class SfxObjectShellLock;
class SfxChildWindowContext;
class SwNavigationPI;
enum class RegionMode;
class SpinField;
class SwNavHelpToolBox : public ToolBox
{
VclPtr<SwNavigationPI> m_xDialog;
virtual void MouseButtonDown(const MouseEvent &rEvt) override;
virtual void RequestHelp( const HelpEvent& rHEvt ) override;
public:
SwNavHelpToolBox(SwNavigationPI* pParent, const ResId &rResId);
virtual void dispose() override;
public:
SwNavHelpToolBox(Window* pParent);
void SetDialog(SwNavigationPI* pDialog)
{
m_xDialog = pDialog;
}
~SwNavHelpToolBox() override;
};
class SwNavigationPI : public vcl::Window,
public SfxControllerItem, public SfxListener
class SwNavigationPI : public PanelLayout,
public SfxControllerItem, public SfxListener
{
friend class SwNavigationChild;
friend class SwContentTree;
@@ -59,8 +66,10 @@ class SwNavigationPI : public vcl::Window,
VclPtr<SwNavHelpToolBox> m_aContentToolBox;
VclPtr<ToolBox> m_aGlobalToolBox;
ImageList m_aContentImageList;
VclPtr<NumEditAction> m_xEdit;
VclPtr<VclContainer> m_aContentBox;
VclPtr<SwContentTree> m_aContentTree;
VclPtr<VclContainer> m_aGlobalBox;
VclPtr<SwGlobalTree> m_aGlobalTree;
VclPtr<ListBox> m_aDocListBox;
Idle m_aPageChgIdle;
@@ -81,13 +90,9 @@ class SwNavigationPI : public vcl::Window,
SwNavigationConfig *m_pConfig;
SfxBindings &m_rBindings;
long m_nDocLBIniHeight;
long m_nWishWidth;
sal_uInt16 m_nAutoMarkIdx;
RegionMode m_nRegionMode; // 0 - URL, 1 - region with link 2 - region without link
short m_nZoomIn;
short m_nZoomOutInit;
short m_nZoomOut;
Size m_aExpandedSize;
bool m_bIsZoomedIn : 1;
bool m_bPageCtrlsVisible : 1;
@@ -114,7 +119,6 @@ class SwNavigationPI : public vcl::Window,
DECL_LINK( ClosePopupWindow, SfxPopupWindow *, void );
void UsePage();
void InitImageList();
void SetPopupWindow( SfxPopupWindow* );
using Window::Notify;
@@ -122,14 +126,11 @@ class SwNavigationPI : public vcl::Window,
protected:
virtual void Resize() override;
virtual void DataChanged( const DataChangedEvent& rDCEvt ) override;
// release ObjectShellLock early enough for app end
virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ) override;
NumEditAction& GetPageEdit();
bool ToggleTree();
void ToggleTree();
void SetGlobalMode(bool bSet) {m_bGlobalMode = bSet;}
public:

View File

@@ -145,8 +145,6 @@
#define RES_FRMEX_MENU (STR_AUTH_FIELD_END + 1)
#define DLG_NAVIGATION_PI (RC_UTLUI_BEGIN + 1)
#define IMG_NAVI_ENTRYBMP (RC_UTLUI_BEGIN + 4)
#define ILIST_DB_DLG (RC_UTLUI_BEGIN + 6)
@@ -157,6 +155,9 @@
#define IMG_VIEWLAYOUT_SINGLECOLUMN (RC_UTLUI_BEGIN + 16)
#define IMG_VIEWLAYOUT_SINGLECOLUMN_ACTIVE (RC_UTLUI_BEGIN + 17)
#define IMG_PAGE_BREAK (RC_UTLUI_BEGIN + 18)
#define RID_IMG_DROP_REGION (RC_UTLUI_BEGIN + 19)
#define RID_IMG_DROP_LINK (RC_UTLUI_BEGIN + 20)
#define RID_IMG_DROP_COPY (RC_UTLUI_BEGIN + 21)
//local ids of the Database ImageLists
#define IMG_COLLAPSE 18002 /*RID_SVXIMG_COLLAPSEDNODE*/

View File

@@ -766,8 +766,9 @@ void SwContentType::FillMemberList(bool* pbLevelOrVisibilityChanged)
}
SwContentTree::SwContentTree(vcl::Window* pParent, const ResId& rResId)
: SvTreeListBox(pParent, rResId)
SwContentTree::SwContentTree(vcl::Window* pParent, SwNavigationPI* pDialog)
: SvTreeListBox(pParent)
, m_xDialog(pDialog)
, m_sSpace(OUString(" "))
, m_sRemoveIdx(SW_RES(STR_REMOVE_INDEX))
, m_sUpdateIdx(SW_RES(STR_UPDATE))
@@ -833,9 +834,15 @@ void SwContentTree::dispose()
bIsInDrag = false;
m_aUpdTimer.Stop();
SetActiveShell(nullptr);
m_xDialog.clear();
SvTreeListBox::dispose();
}
Size SwContentTree::GetOptimalSize() const
{
return LogicToPixel(Size(110, 112), MapUnit::MapAppFont);
}
OUString SwContentTree::GetEntryAltText( SvTreeListEntry* pEntry ) const
{
if( pEntry == nullptr)
@@ -1564,11 +1571,11 @@ void SwContentTree::Display( bool bActive )
m_bIsLastReadOnly = bReadOnly;
bool bDisable = pShell == nullptr || bReadOnly;
SwNavigationPI* pNavi = GetParentWindow();
pNavi->m_aContentToolBox->EnableItem(FN_ITEM_UP , !bDisable);
pNavi->m_aContentToolBox->EnableItem(FN_ITEM_DOWN, !bDisable);
pNavi->m_aContentToolBox->EnableItem(FN_ITEM_LEFT, !bDisable);
pNavi->m_aContentToolBox->EnableItem(FN_ITEM_RIGHT, !bDisable);
pNavi->m_aContentToolBox->EnableItem(FN_SELECT_SET_AUTO_BOOKMARK, !bDisable);
pNavi->m_aContentToolBox->EnableItem(pNavi->m_aContentToolBox->GetItemId("up"), !bDisable);
pNavi->m_aContentToolBox->EnableItem(pNavi->m_aContentToolBox->GetItemId("down"), !bDisable);
pNavi->m_aContentToolBox->EnableItem(pNavi->m_aContentToolBox->GetItemId("promote"), !bDisable);
pNavi->m_aContentToolBox->EnableItem(pNavi->m_aContentToolBox->GetItemId("demote"), !bDisable);
pNavi->m_aContentToolBox->EnableItem(pNavi->m_aContentToolBox->GetItemId("reminder"), !bDisable);
}
if(pShell)
{
@@ -1890,7 +1897,8 @@ void SwContentTree::ToggleToRoot()
}
}
m_pConfig->SetRootType( m_nRootType );
GetParentWindow()->m_aContentToolBox->CheckItem(FN_SHOW_ROOT, m_bIsRoot);
VclPtr<SwNavHelpToolBox> xBox = GetParentWindow()->m_aContentToolBox;
xBox->CheckItem(xBox->GetItemId("root"), m_bIsRoot);
}
bool SwContentTree::HasContentChanged()
@@ -2218,147 +2226,143 @@ void SwContentTree::Notify(SfxBroadcaster & rBC, SfxHint const& rHint)
}
}
void SwContentTree::ExecCommand(sal_uInt16 nCmd, bool bModifier)
void SwContentTree::ExecCommand(const OUString& rCmd, bool bModifier)
{
bool bMove = false;
switch( nCmd )
const bool bUp = rCmd == "up";
const bool bUpDown = bUp || rCmd == "up";
const bool bLeft = rCmd == "promote";
const bool bLeftRight = bLeft || rCmd == "demote";
if (!bUpDown && !bLeftRight)
return;
if( !GetWrtShell()->GetView().GetDocShell()->IsReadOnly() &&
(m_bIsActive ||
(m_bIsConstant && m_pActiveShell == GetParentWindow()->GetCreateView()->GetWrtShellPtr())))
{
case FN_ITEM_DOWN:
case FN_ITEM_UP:
bMove = true;
SAL_FALLTHROUGH;
case FN_ITEM_LEFT:
case FN_ITEM_RIGHT:
if( !GetWrtShell()->GetView().GetDocShell()->IsReadOnly() &&
(m_bIsActive ||
(m_bIsConstant && m_pActiveShell == GetParentWindow()->GetCreateView()->GetWrtShellPtr())))
SwWrtShell* pShell = GetWrtShell();
sal_Int8 nActOutlineLevel = m_nOutlineLevel;
sal_uInt16 nActPos = pShell->GetOutlinePos(nActOutlineLevel);
SvTreeListEntry* pFirstEntry = FirstSelected();
if (pFirstEntry && lcl_IsContent(pFirstEntry))
{
SwWrtShell* pShell = GetWrtShell();
sal_Int8 nActOutlineLevel = m_nOutlineLevel;
sal_uInt16 nActPos = pShell->GetOutlinePos(nActOutlineLevel);
SvTreeListEntry* pFirstEntry = FirstSelected();
if (pFirstEntry && lcl_IsContent(pFirstEntry))
if ( (m_bIsRoot && m_nRootType == ContentTypeId::OUTLINE) ||
static_cast<SwContent*>(pFirstEntry->GetUserData())->GetParent()->GetType()
== ContentTypeId::OUTLINE)
{
if ( (m_bIsRoot && m_nRootType == ContentTypeId::OUTLINE) ||
static_cast<SwContent*>(pFirstEntry->GetUserData())->GetParent()->GetType()
== ContentTypeId::OUTLINE)
{
nActPos = static_cast<SwOutlineContent*>(pFirstEntry->GetUserData())->GetPos();
}
nActPos = static_cast<SwOutlineContent*>(pFirstEntry->GetUserData())->GetPos();
}
if ( nActPos < USHRT_MAX &&
( !bMove || pShell->IsOutlineMovable( nActPos )) )
}
if ( nActPos < USHRT_MAX &&
( !bUpDown || pShell->IsOutlineMovable( nActPos )) )
{
pShell->StartAllAction();
pShell->GotoOutline( nActPos); // If text selection != box selection
pShell->Push();
pShell->MakeOutlineSel( nActPos, nActPos,
bModifier);
if (bUpDown)
{
pShell->StartAllAction();
pShell->GotoOutline( nActPos); // If text selection != box selection
pShell->Push();
pShell->MakeOutlineSel( nActPos, nActPos,
bModifier);
if( bMove )
short nDir = bUp ? -1 : 1;
if( !bModifier && ( (nDir == -1 && nActPos > 0) ||
(nDir == 1 && nActPos < GetEntryCount() - 2) ) )
{
short nDir = nCmd == FN_ITEM_UP ? -1 : 1;
if( !bModifier && ( (nDir == -1 && nActPos > 0) ||
(nDir == 1 && nActPos < GetEntryCount() - 2) ) )
pShell->MoveOutlinePara( nDir );
// Set cursor back to the current position
pShell->GotoOutline( nActPos + nDir);
}
else if(bModifier && pFirstEntry)
{
sal_uInt16 nActEndPos = nActPos;
SvTreeListEntry* pEntry = pFirstEntry;
const auto nActLevel = static_cast<SwOutlineContent*>(
pFirstEntry->GetUserData())->GetOutlineLevel();
pEntry = Next(pEntry);
while( pEntry && CTYPE_CNT ==
static_cast<SwTypeNumber*>(pEntry->GetUserData())->GetTypeId() )
{
pShell->MoveOutlinePara( nDir );
// Set cursor back to the current position
pShell->GotoOutline( nActPos + nDir);
}
else if(bModifier && pFirstEntry)
{
sal_uInt16 nActEndPos = nActPos;
SvTreeListEntry* pEntry = pFirstEntry;
const auto nActLevel = static_cast<SwOutlineContent*>(
pFirstEntry->GetUserData())->GetOutlineLevel();
if(nActLevel >= static_cast<SwOutlineContent*>(
pEntry->GetUserData())->GetOutlineLevel())
break;
pEntry = Next(pEntry);
while( pEntry && CTYPE_CNT ==
static_cast<SwTypeNumber*>(pEntry->GetUserData())->GetTypeId() )
nActEndPos++;
}
if(nDir == 1)
{
// If the last entry is to be moved it is over!
if(pEntry && CTYPE_CNT ==
static_cast<SwTypeNumber*>(pEntry->GetUserData())->GetTypeId())
{
if(nActLevel >= static_cast<SwOutlineContent*>(
pEntry->GetUserData())->GetOutlineLevel())
break;
pEntry = Next(pEntry);
nActEndPos++;
}
if(nDir == 1)
{
// If the last entry is to be moved it is over!
if(pEntry && CTYPE_CNT ==
static_cast<SwTypeNumber*>(pEntry->GetUserData())->GetTypeId())
// pEntry now points to the following entry of the last
// selected entry.
sal_uInt16 nDest = nActEndPos + 1;
// here needs to found the next record after next.
// The selection must be inserted in front of.
while(pEntry )
{
// pEntry now points to the following entry of the last
// selected entry.
sal_uInt16 nDest = nActEndPos + 1;
// here needs to found the next record after next.
// The selection must be inserted in front of.
while(pEntry )
{
pEntry = Next(pEntry);
// nDest++ may only executed if pEntry != 0
if(pEntry && nDest++ &&
( nActLevel >= static_cast<SwOutlineContent*>(pEntry->GetUserData())->GetOutlineLevel()||
CTYPE_CNT != static_cast<SwTypeNumber*>(pEntry->GetUserData())->GetTypeId()))
{
nDest--;
break;
}
}
nDir = nDest - nActEndPos;
// If no entry was found which corresponds the condition
// of the previously paste, it needs to be pushed slightly less.
}
else
nDir = 0;
}
else
{
sal_uInt16 nDest = nActPos;
pEntry = pFirstEntry;
while(pEntry && nDest )
{
nDest--;
pEntry = Prev(pEntry);
if(pEntry &&
(nActLevel >= static_cast<SwOutlineContent*>(pEntry->GetUserData())->GetOutlineLevel()||
pEntry = Next(pEntry);
// nDest++ may only executed if pEntry != 0
if(pEntry && nDest++ &&
( nActLevel >= static_cast<SwOutlineContent*>(pEntry->GetUserData())->GetOutlineLevel()||
CTYPE_CNT != static_cast<SwTypeNumber*>(pEntry->GetUserData())->GetTypeId()))
{
nDest--;
break;
}
}
nDir = nDest - nActPos;
nDir = nDest - nActEndPos;
// If no entry was found which corresponds the condition
// of the previously paste, it needs to be pushed slightly less.
}
if(nDir)
else
nDir = 0;
}
else
{
sal_uInt16 nDest = nActPos;
pEntry = pFirstEntry;
while(pEntry && nDest )
{
pShell->MoveOutlinePara( nDir );
//Set cursor back to the current position
pShell->GotoOutline( nActPos + nDir);
nDest--;
pEntry = Prev(pEntry);
if(pEntry &&
(nActLevel >= static_cast<SwOutlineContent*>(pEntry->GetUserData())->GetOutlineLevel()||
CTYPE_CNT != static_cast<SwTypeNumber*>(pEntry->GetUserData())->GetTypeId()))
{
break;
}
}
nDir = nDest - nActPos;
}
if(nDir)
{
pShell->MoveOutlinePara( nDir );
//Set cursor back to the current position
pShell->GotoOutline( nActPos + nDir);
}
}
else
{
if( !pShell->IsProtectedOutlinePara() )
pShell->OutlineUpDown( nCmd == FN_ITEM_LEFT ? -1 : 1 );
}
}
else
{
if( !pShell->IsProtectedOutlinePara() )
pShell->OutlineUpDown(bLeft ? -1 : 1);
}
pShell->ClearMark();
pShell->Pop(false); // Cursor is now back at the current superscription.
pShell->EndAllAction();
if(m_aActiveContentArr[ContentTypeId::OUTLINE])
m_aActiveContentArr[ContentTypeId::OUTLINE]->Invalidate();
Display(true);
if(!m_bIsRoot)
{
const sal_uInt16 nCurrPos = pShell->GetOutlinePos(MAXLEVEL);
SvTreeListEntry* pFirst = First();
pShell->ClearMark();
pShell->Pop(false); // Cursor is now back at the current superscription.
pShell->EndAllAction();
if(m_aActiveContentArr[ContentTypeId::OUTLINE])
m_aActiveContentArr[ContentTypeId::OUTLINE]->Invalidate();
Display(true);
if(!m_bIsRoot)
{
const sal_uInt16 nCurrPos = pShell->GetOutlinePos(MAXLEVEL);
SvTreeListEntry* pFirst = First();
while( nullptr != (pFirst = Next(pFirst)) && lcl_IsContent(pFirst))
while( nullptr != (pFirst = Next(pFirst)) && lcl_IsContent(pFirst))
{
if(static_cast<SwOutlineContent*>(pFirst->GetUserData())->GetPos() == nCurrPos)
{
if(static_cast<SwOutlineContent*>(pFirst->GetUserData())->GetPos() == nCurrPos)
{
Select(pFirst);
MakeVisible(pFirst);
}
Select(pFirst);
MakeVisible(pFirst);
}
}
}
@@ -2995,10 +2999,10 @@ bool SwContentTree::Select( SvTreeListEntry* pEntry, bool bSelect )
}
}
SwNavigationPI* pNavi = GetParentWindow();
pNavi->m_aContentToolBox->EnableItem(FN_ITEM_UP , bEnable);
pNavi->m_aContentToolBox->EnableItem(FN_ITEM_DOWN, bEnable);
pNavi->m_aContentToolBox->EnableItem(FN_ITEM_LEFT, bEnable);
pNavi->m_aContentToolBox->EnableItem(FN_ITEM_RIGHT,bEnable);
pNavi->m_aContentToolBox->EnableItem(pNavi->m_aContentToolBox->GetItemId("up"), bEnable);
pNavi->m_aContentToolBox->EnableItem(pNavi->m_aContentToolBox->GetItemId("down"), bEnable);
pNavi->m_aContentToolBox->EnableItem(pNavi->m_aContentToolBox->GetItemId("promote"), bEnable);
pNavi->m_aContentToolBox->EnableItem(pNavi->m_aContentToolBox->GetItemId("demote"), bEnable);
return SvTreeListBox::Select(pEntry, bSelect);
}
@@ -3441,7 +3445,7 @@ void SwContentTree::DataChanged(const DataChangedEvent& rDCEvt)
SwNavigationPI* SwContentTree::GetParentWindow()
{
return static_cast<SwNavigationPI*>(Window::GetParent());
return m_xDialog;
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */

View File

@@ -144,21 +144,18 @@ void SwGlobalFrameListener_Impl::Notify( SfxBroadcaster& /*rBC*/, const SfxHint&
bValid = false;
}
SwGlobalTree::SwGlobalTree(vcl::Window* pParent, const ResId& rResId) :
SvTreeListBox(pParent, rResId),
pActiveShell ( nullptr ),
pEmphasisEntry ( nullptr ),
pDDSource ( nullptr ),
pSwGlblDocContents ( nullptr ),
pDocContent ( nullptr ),
pDocInserter ( nullptr ),
bIsInternalDrag ( false ),
bLastEntryEmphasis ( false ),
bIsImageListInitialized ( false )
SwGlobalTree::SwGlobalTree(vcl::Window* pParent, SwNavigationPI* pDialog)
: SvTreeListBox(pParent)
, xDialog(pDialog)
, pActiveShell(nullptr)
, pEmphasisEntry(nullptr)
, pDDSource(nullptr)
, pSwGlblDocContents(nullptr)
, pDocContent(nullptr)
, pDocInserter(nullptr)
, bIsInternalDrag(false)
, bLastEntryEmphasis(false)
, bIsImageListInitialized(false)
{
SetDragDropMode(DragDropMode::APP_COPY |
DragDropMode::CTRL_MOVE |
@@ -189,9 +186,15 @@ void SwGlobalTree::dispose()
delete pDocInserter;
pDocInserter = nullptr;
aUpdateTimer.Stop();
xDialog.clear();
SvTreeListBox::dispose();
}
Size SwGlobalTree::GetOptimalSize() const
{
return LogicToPixel(Size(110, 112), MapUnit::MapAppFont);
}
sal_Int8 SwGlobalTree::ExecuteDrop( const ExecuteDropEvent& rEvt )
{
sal_Int8 nRet = DND_ACTION_NONE;
@@ -391,10 +394,11 @@ VclPtr<PopupMenu> SwGlobalTree::CreateContextMenu()
void SwGlobalTree::TbxMenuHdl(sal_uInt16 nTbxId, ToolBox* pBox)
{
const sal_uInt16 nEnableFlags = GetEnableFlags();
if(FN_GLOBAL_OPEN == nTbxId)
const OUString sCommand(pBox->GetItemCommand(nTbxId));
if (sCommand == "insert")
{
ScopedVclPtrInstance<PopupMenu> pMenu;
for (sal_uInt16 i = CTX_INSERT_ANY_INDEX; i <= CTX_INSERT_TEXT; i++)
for (sal_uInt16 i = CTX_INSERT_ANY_INDEX; i <= CTX_INSERT_TEXT; ++i)
{
pMenu->InsertItem( i, aContextStrings[STR_INDEX - STR_GLOBAL_CONTEXT_FIRST - CTX_INSERT_ANY_INDEX + i] );
pMenu->SetHelpId(i, aHelpForMenu[i] );
@@ -409,7 +413,7 @@ void SwGlobalTree::TbxMenuHdl(sal_uInt16 nTbxId, ToolBox* pBox)
pBox->EndSelection();
pBox->Invalidate();
}
else if(FN_GLOBAL_UPDATE == nTbxId)
else if (sCommand == "update")
{
ScopedVclPtrInstance<PopupMenu> pMenu;
for (sal_uInt16 i = CTX_UPDATE_SEL; i <= CTX_UPDATE_ALL; i++)
@@ -513,12 +517,12 @@ void SwGlobalTree::SelectHdl()
SwNavigationPI* pNavi = GetParentWindow();
bool bReadonly = !pActiveShell ||
pActiveShell->GetView().GetDocShell()->IsReadOnly();
pNavi->m_aGlobalToolBox->EnableItem(FN_GLOBAL_EDIT, nSelCount == 1 && !bReadonly);
pNavi->m_aGlobalToolBox->EnableItem(FN_GLOBAL_OPEN, nSelCount <= 1 && !bReadonly);
pNavi->m_aGlobalToolBox->EnableItem(FN_GLOBAL_UPDATE, GetEntryCount() > 0 && !bReadonly);
pNavi->m_aGlobalToolBox->EnableItem(FN_ITEM_UP,
pNavi->m_aGlobalToolBox->EnableItem(pNavi->m_aGlobalToolBox->GetItemId("edit"), nSelCount == 1 && !bReadonly);
pNavi->m_aGlobalToolBox->EnableItem(pNavi->m_aGlobalToolBox->GetItemId("insert"), nSelCount <= 1 && !bReadonly);
pNavi->m_aGlobalToolBox->EnableItem(pNavi->m_aGlobalToolBox->GetItemId("update"), GetEntryCount() > 0 && !bReadonly);
pNavi->m_aGlobalToolBox->EnableItem(pNavi->m_aGlobalToolBox->GetItemId("up"),
nSelCount == 1 && nAbsPos && !bReadonly);
pNavi->m_aGlobalToolBox->EnableItem(FN_ITEM_DOWN,
pNavi->m_aGlobalToolBox->EnableItem(pNavi->m_aGlobalToolBox->GetItemId("down"),
nSelCount == 1 && nAbsPos < GetEntryCount() - 1 && !bReadonly);
}
@@ -1045,11 +1049,11 @@ void SwGlobalTree::HideTree()
SvTreeListBox::Hide();
}
void SwGlobalTree::ExecCommand(sal_uInt16 nCmd)
void SwGlobalTree::ExecCommand(const OUString &rCmd)
{
SvTreeListEntry* pEntry = FirstSelected();
OSL_ENSURE(pEntry, "It explodes in the next moment");
if(FN_GLOBAL_EDIT == nCmd)
if (rCmd == "edit")
{
const SwGlblDocContent* pCont = static_cast<const SwGlblDocContent*>(
pEntry->GetUserData());
@@ -1062,22 +1066,17 @@ void SwGlobalTree::ExecCommand(sal_uInt16 nCmd)
bool bMove = false;
sal_uLong nSource = GetModel()->GetAbsPos(pEntry);
sal_uLong nDest = nSource;
switch(nCmd)
if (rCmd == "down")
{
case FN_ITEM_DOWN:
{
sal_uLong nEntryCount = GetEntryCount();
bMove = nEntryCount > nSource + 1;
nDest+= 2;
}
break;
case FN_ITEM_UP:
{
if(nSource)
bMove = 0 != nSource;
nDest--;
}
break;
sal_uLong nEntryCount = GetEntryCount();
bMove = nEntryCount > nSource + 1;
nDest+= 2;
}
else if (rCmd == "up")
{
if(nSource)
bMove = 0 != nSource;
nDest--;
}
if( bMove && pActiveShell->MoveGlobalDocContent(
*pSwGlblDocContents, nSource, nSource + 1, nDest ) &&
@@ -1209,7 +1208,7 @@ IMPL_LINK_NOARG( SwGlobalTree, DoubleClickHdl, SvTreeListBox*, bool)
SwNavigationPI* SwGlobalTree::GetParentWindow()
{
return static_cast<SwNavigationPI*>(Window::GetParent());
return xDialog;
}
IMPL_STATIC_LINK_NOARG(SwGlobalTree, ShowFrameHdl, void*, void)

File diff suppressed because it is too large Load Diff

View File

@@ -16,8 +16,6 @@
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
#define IL_CONTENT 7
#define TB_CONTENT 50
#define TL_CONTENT 51
#define LB_DOCS 53
#define TL_GLOBAL 55

View File

@@ -24,276 +24,6 @@
#include "helpid.h"
#include "access.hrc"
Window DLG_NAVIGATION_PI
{
HelpID = HID_NAVIGATION_PI ;
OutputSize = TRUE ;
DialogControl = TRUE ;
SVLook = TRUE ;
Size = MAP_PIXEL ( 282 , 59 ) ;
Hide = TRUE ;
Text [ en-US ] = "Navigator" ;
ExtraData =
{
198;
};
ImageList IL_CONTENT
{
Prefix = "sc";
IdList =
{
FN_UP ;
FN_DOWN ;
FN_SELECT_HEADER ;
FN_SELECT_FOOTER ;
FN_SELECT_FOOTNOTE ;
FN_SHOW_CONTENT_BOX ;
FN_SHOW_ROOT ;
FN_ITEM_UP ;
FN_ITEM_DOWN ;
FN_ITEM_LEFT ;
FN_ITEM_RIGHT ;
FN_DROP_REGION ;
FN_OUTLINE_LEVEL ;
FN_SELECT_SET_AUTO_BOOKMARK ;
FN_DROP_REGION_LINK ;
FN_DROP_REGION_COPY ;
FN_GLOBAL_SWITCH ;
FN_GLOBAL_EDIT ;
FN_GLOBAL_UPDATE ;
FN_GLOBAL_OPEN ;
FN_GLOBAL_SAVE_CONTENT ;
FN_CREATE_NAVIGATION ;
};
IdCount = { 21 ; };
};
Toolbox TB_CONTENT
{
Pos = MAP_PIXEL ( 5 , 5 ) ;
Size = MAP_PIXEL ( 300 , 47 ) ;
LineCount = 2 ;
ItemList =
{
ToolBoxItem
{
Identifier = FN_GLOBAL_SWITCH ;
HelpID = HID_NAVI_TBX17 ;
Text [ en-US ] = "Toggle Master View" ;
};
ToolBoxItem
{
Identifier = FN_CREATE_NAVIGATION ;
HelpID = HID_NAVI_TBX24 ;
Text [ en-US ] = "Navigation" ;
DropDown = TRUE ;
};
ToolBoxItem
{
Identifier = FN_UP ;
HelpID = HID_NAVI_TBX2 ;
Text [ en-US ] = "Back" ;
};
ToolBoxItem
{
Identifier = FN_DOWN ;
HelpID = HID_NAVI_TBX3 ;
Text [ en-US ] = "Forward" ;
};
ToolBoxItem
{
Identifier = FN_DROP_REGION ;
HelpID = HID_NAVI_TBX4 ;
DropDown = TRUE ;
Text [ en-US ] = "Drag Mode" ;
};
ToolBoxItem
{
Type = TOOLBOXITEM_SEPARATOR ;
};
ToolBoxItem
{
Identifier = FN_ITEM_UP ;
HelpID = HID_NAVI_TBX5 ;
Text [ en-US ] = "Promote Chapter" ;
};
ToolBoxItem
{
Identifier = FN_ITEM_DOWN ;
HelpID = HID_NAVI_TBX6 ;
Text [ en-US ] = "Demote Chapter" ;
};
ToolBoxItem
{
Type = TOOLBOXITEM_BREAK ;
};
ToolBoxItem
{
Identifier = FN_SHOW_CONTENT_BOX ;
HelpID = HID_NAVI_TBX7 ;
Text [ en-US ] = "List Box On/Off" ;
};
ToolBoxItem
{
Identifier = FN_SHOW_ROOT ;
HelpID = HID_NAVI_TBX8 ;
Text [ en-US ] = "Content Navigation View" ;
};
ToolBoxItem
{
Type = TOOLBOXITEM_SEPARATOR ;
};
ToolBoxItem
{
Identifier = FN_SELECT_SET_AUTO_BOOKMARK ;
HelpID = HID_NAVI_TBX9 ;
Text [ en-US ] = "Set Reminder" ;
};
ToolBoxItem
{
Type = TOOLBOXITEM_SEPARATOR ;
};
ToolBoxItem
{
Identifier = FN_SELECT_HEADER ;
HelpID = HID_NAVI_TBX10 ;
Text [ en-US ] = "Header" ;
};
ToolBoxItem
{
Identifier = FN_SELECT_FOOTER ;
HelpID = HID_NAVI_TBX11 ;
Text [ en-US ] = "Footer" ;
};
ToolBoxItem
{
Identifier = FN_SELECT_FOOTNOTE ;
HelpID = HID_NAVI_TBX12 ;
Text [ en-US ] = "Anchor<->Text" ;
};
ToolBoxItem
{
Type = TOOLBOXITEM_SEPARATOR ;
};
ToolBoxItem
{
Identifier = FN_OUTLINE_LEVEL ;
HelpID = HID_NAVI_TBX13 ;
Text [ en-US ] = "Heading Levels Shown" ;
DropDown = TRUE ;
};
ToolBoxItem
{
Type = TOOLBOXITEM_SEPARATOR ;
};
ToolBoxItem
{
Identifier = FN_ITEM_LEFT ;
HelpID = HID_NAVI_TBX14 ;
Text [ en-US ] = "Promote Level" ;
};
ToolBoxItem
{
Identifier = FN_ITEM_RIGHT ;
HelpID = HID_NAVI_TBX15 ;
Text [ en-US ] = "Demote Level" ;
};
};
};
ToolBox TB_GLOBAL
{
Pos = MAP_PIXEL ( 5 , 5 ) ;
Size = MAP_PIXEL ( 300 , 47 ) ;
LineCount = 1 ;
Hide = TRUE ;
ItemList =
{
ToolBoxItem
{
Identifier = FN_GLOBAL_SWITCH ;
HelpID = HID_NAVI_TBX17 ;
Text [ en-US ] = "Toggle Master View" ;
};
ToolBoxItem
{
Type = TOOLBOXITEM_SEPARATOR ;
};
ToolBoxItem
{
Identifier = FN_GLOBAL_EDIT ;
HelpID = HID_NAVI_TBX18 ;
Text [ en-US ] = "Edit" ;
};
ToolBoxItem
{
Identifier = FN_GLOBAL_UPDATE ;
HelpID = HID_NAVI_TBX19 ;
Text [ en-US ] = "Update" ;
};
ToolBoxItem
{
Identifier = FN_GLOBAL_OPEN ;
HelpID = HID_NAVI_TBX20 ;
Text [ en-US ] = "Insert" ;
};
ToolBoxItem
{
Type = TOOLBOXITEM_SEPARATOR ;
};
ToolBoxItem
{
Identifier = FN_GLOBAL_SAVE_CONTENT ;
HelpID = HID_NAVI_TBX21 ;
Text [ en-US ] = "Save Contents as well" ;
};
ToolBoxItem
{
Type = TOOLBOXITEM_SEPARATOR ;
};
ToolBoxItem
{
Identifier = FN_ITEM_UP ;
HelpID = HID_NAVI_TBX22 ;
Text [ en-US ] = "Move Up" ;
};
ToolBoxItem
{
Identifier = FN_ITEM_DOWN ;
HelpID = HID_NAVI_TBX23 ;
Text [ en-US ] = "Move Down" ;
};
};
};
/* TreeListBox */
Control TL_CONTENT
{
HelpID = HID_NAVI_CONTENT ;
Border = TRUE ;
Pos = MAP_PIXEL ( 5 , 62 ) ;
Size = MAP_PIXEL ( 274 , 112 ) ;
TabStop = TRUE ;
ClipChildren = TRUE ;
Hide = TRUE ;
};
Control TL_GLOBAL
{
HelpID = HID_NAVI_GLOBAL ;
Border = TRUE ;
Pos = MAP_PIXEL ( 5 , 34 ) ;
Size = MAP_PIXEL ( 274 , 112 ) ;
TabStop = TRUE ;
ClipChildren = TRUE ;
Hide = TRUE ;
};
ListBox LB_DOCS
{
Border = TRUE ;
Pos = MAP_PIXEL ( 5 , 115 ) ;
Size = MAP_APPFONT ( 150 , 50 ) ;
DropDown = TRUE ;
};
};
ImageList IMG_NAVI_ENTRYBMP
{
Prefix = "nc";
@@ -315,6 +45,30 @@ ImageList IMG_NAVI_ENTRYBMP
IdCount = { 12 ; };
};
Image RID_IMG_DROP_REGION
{
ImageBitmap = Bitmap
{
File = "sc20235.png" ;
};
};
Image RID_IMG_DROP_LINK
{
ImageBitmap = Bitmap
{
File = "sc20238.png" ;
};
};
Image RID_IMG_DROP_COPY
{
ImageBitmap = Bitmap
{
File = "sc20239.png" ;
};
};
String STR_ACCESS_TL_GLOBAL
{
Text [ en-US ] = "Global View";

View File

@@ -0,0 +1,487 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.20.0 -->
<interface>
<requires lib="gtk+" version="3.0"/>
<object class="GtkGrid" id="NavigatorPanel">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="border_width">6</property>
<child>
<object class="GtkGrid">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="border_width">6</property>
<property name="row_spacing">6</property>
<property name="column_spacing">12</property>
<child>
<object class="GtkGrid">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="row_spacing">6</property>
<property name="column_spacing">12</property>
<child>
<object class="swlo-SwNavHelpToolBox" id="content">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="toolbar_style">icons</property>
<child>
<object class="GtkToolButton" id="contenttoggle">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Toggle Master View</property>
<property name="action_name">toggle</property>
<property name="icon_name">sw/imglst/sc20244.png</property>
</object>
<packing>
<property name="expand">False</property>
<property name="homogeneous">True</property>
</packing>
</child>
<child>
<object class="GtkMenuToolButton" id="navigation">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Navigation</property>
<property name="action_name">navigation</property>
<property name="icon_name">sw/imglst/sc20249.png</property>
</object>
<packing>
<property name="expand">False</property>
<property name="homogeneous">True</property>
</packing>
</child>
<child>
<object class="GtkToolButton" id="back">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Back</property>
<property name="action_name">back</property>
<property name="icon_name">sw/imglst/sc20186.png</property>
</object>
<packing>
<property name="expand">False</property>
<property name="homogeneous">True</property>
</packing>
</child>
<child>
<object class="GtkToolButton" id="forward">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Forward</property>
<property name="action_name">forward</property>
<property name="icon_name">sw/imglst/sc20175.png</property>
</object>
<packing>
<property name="expand">False</property>
<property name="homogeneous">True</property>
</packing>
</child>
<child>
<object class="GtkToolButton" id="dragmode">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Drag Mode</property>
<property name="action_name">dragmode</property>
<property name="icon_name">sw/imglst/sc20235.png</property>
</object>
<packing>
<property name="expand">False</property>
<property name="homogeneous">True</property>
</packing>
</child>
<child>
<object class="GtkSeparatorToolItem" id="separator1">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
<packing>
<property name="expand">False</property>
<property name="homogeneous">True</property>
</packing>
</child>
<child>
<object class="GtkToolButton" id="chapterup">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Promote Chapter</property>
<property name="action_name">up</property>
<property name="icon_name">sw/imglst/sc20174.png</property>
</object>
<packing>
<property name="expand">False</property>
<property name="homogeneous">True</property>
</packing>
</child>
<child>
<object class="GtkToolButton" id="chapterdown">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Demote Chapter</property>
<property name="action_name">down</property>
<property name="icon_name">sw/imglst/sc20171.png</property>
</object>
<packing>
<property name="expand">False</property>
<property name="homogeneous">True</property>
</packing>
</child>
<child>
<object class="GtkToolButton" id="listbox">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">List Box On/Off</property>
<property name="action_name">listbox</property>
<property name="icon_name">sw/imglst/sc20233.png</property>
</object>
<packing>
<property name="expand">False</property>
<property name="homogeneous">True</property>
</packing>
</child>
<child>
<object class="GtkToolButton" id="root">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Content Navigation View</property>
<property name="action_name">root</property>
<property name="icon_name">sw/imglst/sc20234.png</property>
</object>
<packing>
<property name="expand">False</property>
<property name="homogeneous">True</property>
</packing>
</child>
<child>
<object class="GtkSeparatorToolItem" id="separator2">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
<packing>
<property name="expand">False</property>
<property name="homogeneous">True</property>
</packing>
</child>
<child>
<object class="GtkToolButton" id="reminder">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Set Reminder</property>
<property name="action_name">reminder</property>
<property name="icon_name">sw/imglst/sc20183.png</property>
</object>
<packing>
<property name="expand">False</property>
<property name="homogeneous">True</property>
</packing>
</child>
<child>
<object class="GtkSeparatorToolItem" id="separator3">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
<packing>
<property name="expand">False</property>
<property name="homogeneous">True</property>
</packing>
</child>
<child>
<object class="GtkToolButton" id="header">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Header</property>
<property name="action_name">header</property>
<property name="icon_name">sw/imglst/sc20179.png</property>
</object>
<packing>
<property name="expand">False</property>
<property name="homogeneous">True</property>
</packing>
</child>
<child>
<object class="GtkToolButton" id="footer">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Footer</property>
<property name="action_name">footer</property>
<property name="icon_name">sw/imglst/sc20177.png</property>
</object>
<packing>
<property name="expand">False</property>
<property name="homogeneous">True</property>
</packing>
</child>
<child>
<object class="GtkToolButton" id="anchor">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Anchor&lt;-&gt;Text</property>
<property name="action_name">anchor</property>
<property name="icon_name">sw/imglst/sc20182.png</property>
</object>
<packing>
<property name="expand">False</property>
<property name="homogeneous">True</property>
</packing>
</child>
<child>
<object class="GtkSeparatorToolItem" id="separator4">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
<packing>
<property name="expand">False</property>
<property name="homogeneous">True</property>
</packing>
</child>
<child>
<object class="GtkMenuToolButton" id="headings">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Heading Levels Shown</property>
<property name="action_name">headings</property>
<property name="icon_name">sw/imglst/sc20236.png</property>
</object>
<packing>
<property name="expand">False</property>
<property name="homogeneous">True</property>
</packing>
</child>
<child>
<object class="GtkSeparatorToolItem" id="separator5">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
<packing>
<property name="expand">False</property>
<property name="homogeneous">True</property>
</packing>
</child>
<child>
<object class="GtkToolButton" id="promote">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Promote Level</property>
<property name="action_name">promote</property>
<property name="icon_name">sw/imglst/sc20172.png</property>
</object>
<packing>
<property name="expand">False</property>
<property name="homogeneous">True</property>
</packing>
</child>
<child>
<object class="GtkToolButton" id="demote">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Demote Level</property>
<property name="action_name">demote</property>
<property name="icon_name">sw/imglst/sc20173.png</property>
</object>
<packing>
<property name="expand">False</property>
<property name="homogeneous">True</property>
</packing>
</child>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
</packing>
</child>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
</packing>
</child>
<child>
<object class="GtkComboBox" id="documents">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Document</property>
<child internal-child="accessible">
<object class="AtkObject" id="documents-atkobject">
<property name="AtkObject::accessible-name" translatable="yes">Active Window</property>
</object>
</child>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">4</property>
</packing>
</child>
<child>
<object class="GtkBox" id="contentbox">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="orientation">vertical</property>
<child>
<placeholder/>
</child>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">2</property>
</packing>
</child>
<child>
<object class="GtkToolbar" id="global">
<property name="visible">False</property>
<property name="can_focus">False</property>
<property name="toolbar_style">icons</property>
<child>
<object class="GtkToolButton" id="globaltoggle">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Toggle Master View</property>
<property name="action_name">toggle</property>
<property name="icon_name">sw/imglst/sc20244.png</property>
</object>
<packing>
<property name="expand">False</property>
<property name="homogeneous">True</property>
</packing>
</child>
<child>
<object class="GtkSeparatorToolItem" id="separator6">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
<packing>
<property name="expand">False</property>
<property name="homogeneous">True</property>
</packing>
</child>
<child>
<object class="GtkToolButton" id="edit">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Edit</property>
<property name="action_name">edit</property>
<property name="icon_name">sw/imglst/sc20245.png</property>
</object>
<packing>
<property name="expand">False</property>
<property name="homogeneous">True</property>
</packing>
</child>
<child>
<object class="GtkToolButton" id="update">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Update</property>
<property name="action_name">update</property>
<property name="icon_name">sw/imglst/sc20246.png</property>
</object>
<packing>
<property name="expand">False</property>
<property name="homogeneous">True</property>
</packing>
</child>
<child>
<object class="GtkToolButton" id="insert">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Insert</property>
<property name="action_name">insert</property>
<property name="icon_name">sw/imglst/sc20247.png</property>
</object>
<packing>
<property name="expand">False</property>
<property name="homogeneous">True</property>
</packing>
</child>
<child>
<object class="GtkSeparatorToolItem" id="separator7">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
<packing>
<property name="expand">False</property>
<property name="homogeneous">True</property>
</packing>
</child>
<child>
<object class="GtkToolButton" id="save">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Save Contents as well</property>
<property name="action_name">save</property>
<property name="icon_name">sw/imglst/sc20248.png</property>
</object>
<packing>
<property name="expand">False</property>
<property name="homogeneous">True</property>
</packing>
</child>
<child>
<object class="GtkSeparatorToolItem" id="separator8">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
<packing>
<property name="expand">False</property>
<property name="homogeneous">True</property>
</packing>
</child>
<child>
<object class="GtkToolButton" id="moveup">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Move Up</property>
<property name="action_name">up</property>
<property name="icon_name">sw/imglst/sc20174.png</property>
</object>
<packing>
<property name="expand">False</property>
<property name="homogeneous">True</property>
</packing>
</child>
<child>
<object class="GtkToolButton" id="movedown">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Move Down</property>
<property name="action_name">down</property>
<property name="icon_name">sw/imglst/sc20171.png</property>
</object>
<packing>
<property name="expand">False</property>
<property name="homogeneous">True</property>
</packing>
</child>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
</packing>
</child>
<child>
<object class="GtkBox" id="globalbox">
<property name="visible">False</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="vexpand">True</property>
<property name="orientation">vertical</property>
<child>
<placeholder/>
</child>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">3</property>
</packing>
</child>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
</packing>
</child>
</object>
</interface>