ManageNames: add menu and dialog for Add Name

This commit is contained in:
Markus Mohrhard
2011-11-16 02:45:50 +01:00
parent 668a71065f
commit 8fd3c3ac9e
17 changed files with 171 additions and 2 deletions

View File

@@ -898,6 +898,14 @@
<value xml:lang="en-US">Shee~t From File...</value>
</prop>
</node>
<node oor:name=".uno:AddName" oor:op="replace">
<prop oor:name="Label" oor:type="xs:string">
<value xml:lang="en-US">~Define Name...</value>
</prop>
<prop oor:name="ContextLabel" oor:type="xs:string">
<value xml:lang="en-US">~Define...</value>
</prop>
</node>
<node oor:name=".uno:DefineName" oor:op="replace">
<prop oor:name="Label" oor:type="xs:string">
<value xml:lang="en-US">~Manage Names...</value>

View File

@@ -100,6 +100,7 @@ $(eval $(call gb_Library_add_exception_objects,scui,\
sc/source/ui/miscdlgs/strindlg \
sc/source/ui/miscdlgs/tabbgcolordlg \
sc/source/ui/miscdlgs/textdlgs \
sc/source/ui/namedlg/namedefdlg \
sc/source/ui/optdlg/opredlin \
sc/source/ui/optdlg/tpcalc \
sc/source/ui/optdlg/tpcompatibility \

View File

@@ -349,6 +349,7 @@
#define FID_USE_NAME (INSERT_MENU_START + 13)
#define FID_APPLY_NAME (INSERT_MENU_START + 14)
#define FID_INS_TABLE_EXT (INSERT_MENU_START + 15)
#define FID_ADD_NAME (INSERT_MENU_START + 16)
#define SID_INSERT_CLIPART (INSERT_MENU_START + 17) //!!! should come from Svx
#define FID_INS_CELLSDOWN (INSERT_MENU_START + 18)
#define FID_INS_CELLSRIGHT (INSERT_MENU_START + 19)
@@ -1106,6 +1107,7 @@
#define RID_SCDLG_NAMES_PASTE (SC_DIALOGS_START + 72)
#define RID_SCDLG_NAMES_CREATE (SC_DIALOGS_START + 73)
#define RID_SCDLG_NAMES_APPLY (SC_DIALOGS_START + 74) //NYI
#define RID_SCDLG_NAMES_DEFINE (SC_DIALOGS_START + 75)
#define RID_SCDLG_CHAR (SC_DIALOGS_START + 76)
#define RID_SCDLG_PARAGRAPH (SC_DIALOGS_START + 77)

View File

@@ -221,7 +221,7 @@ public:
virtual void EnableRenameTable (sal_Bool bFlag=true) = 0;
};
class AbstractScNameCreateDlg : public VclAbstractDialog //add for ScNameCreateDlg
class AbstractScNameCreateDlg : public VclAbstractDialog // Manage Name Dialog
{
public:
virtual sal_uInt16 GetFlags() const = 0;
@@ -233,6 +233,11 @@ public:
virtual String GetSelectedName() const = 0;
};
class AbstractScNameAddDlg : public VclAbstractDialog // Define Name Dialog
{
public:
};
class AbstractScPivotFilterDlg : public VclAbstractDialog //add for ScPivotFilterDlg
{
public:
@@ -419,6 +424,8 @@ public:
virtual AbstractScNamePasteDlg * CreateScNamePasteDlg ( Window * pParent, const ScRangeName* pList, //add for ScNamePasteDlg
const ScRangeName* pLocalList, int nId , bool bInsList=true ) = 0;
virtual AbstractScNameAddDlg* CreateScNameAddDlg ( Window* pParent, int nId) = 0;
virtual AbstractScPivotFilterDlg * CreateScPivotFilterDlg ( Window* pParent, //add for ScPivotFilterDlg
const SfxItemSet& rArgSet, sal_uInt16 nSourceTab , int nId ) = 0;

View File

@@ -36,6 +36,7 @@
#define CMD_FID_TAB_APPEND ".uno:Add"
#define CMD_SID_CHART_ADDSOURCE ".uno:AddChartData"
#define CMD_SID_ADD_IN_MANAGER ".uno:AddInManager"
#define CMD_FID_ADD_NAME ".uno:AddName"
#define CMD_SID_ADD_PRINTAREA ".uno:AddPrintArea"
#define CMD_SID_RANGE_ADDRESS ".uno:Address"
#define CMD_FID_ADJUST_PRINTZOOM ".uno:AdjustPrintZoom"

View File

@@ -178,6 +178,7 @@ interface CellSelection
SID_TABOP [ ExecMethod = ExecuteEdit; StateMethod = GetState; ]
SID_CONSOLIDATE [ ExecMethod = ExecuteEdit; StateMethod = GetState; ]
FID_ADD_NAME [ ExecMethod = ExecuteEdit; StateMethod = GetState; ]
FID_INSERT_NAME [ ExecMethod = ExecuteEdit; StateMethod = GetState; ]
FID_USE_NAME [ ExecMethod = ExecuteEdit; StateMethod = GetState; ]
SID_CANCEL [ ExecMethod = Execute; ]

View File

@@ -45,6 +45,7 @@ interface TableText
SID_CLIPBOARD_FORMAT_ITEMS [ ExecMethod = Execute; StateMethod = GetClipState; Export = FALSE; ]
SID_SELECTALL [ ExecMethod = Execute; StateMethod = GetState; Export = FALSE; ]
SID_CHARMAP [ ExecMethod = Execute; StateMethod = GetState; Export = FALSE; ]
FID_ADD_NAME [ ExecMethod = Execute; StateMethod = GetState; Export = FALSE; ]
FID_INSERT_NAME [ ExecMethod = Execute; StateMethod = GetState; Export = FALSE; ]
SID_THES [ ExecMethod = Execute; StateMethod = GetState; Export = FALSE; ]

View File

@@ -3757,6 +3757,31 @@ SfxVoidItem InsertMatrix SID_INSERT_MATRIX
GroupId = GID_INTERN;
]
//--------------------------------------------------------------------------
SfxVoidItem AddName FID_ADD_NAME
()
[
/* flags: */
AutoUpdate = FALSE,
Cachable = Cachable,
FastCall = FALSE,
HasCoreId = FALSE,
HasDialog = TRUE,
ReadOnlyDoc = TRUE,
Toggle = FALSE,
Container = FALSE,
RecordAbsolute = FALSE,
RecordPerSet;
Synchron;
/* config: */
AccelConfig = FALSE,
MenuConfig = TRUE,
StatusBarConfig = FALSE,
ToolBoxConfig = FALSE,
GroupId = GID_INSERT;
]
//--------------------------------------------------------------------------
SfxVoidItem InsertName FID_INSERT_NAME
()

View File

@@ -53,6 +53,7 @@
#include "mvtabdlg.hxx"
#include "namecrea.hxx"
#include "namepast.hxx"
#include "namedefdlg.hxx"
#include "pfiltdlg.hxx"
#include "pvfundlg.hxx"
#include "dpgroupdlg.hxx"
@@ -106,6 +107,7 @@ IMPL_ABSTDLG_BASE(AbstractScMetricInputDlg_Impl);
IMPL_ABSTDLG_BASE(AbstractScMoveTableDlg_Impl);
IMPL_ABSTDLG_BASE(AbstractScNameCreateDlg_Impl);
IMPL_ABSTDLG_BASE(AbstractScNamePasteDlg_Impl);
IMPL_ABSTDLG_BASE(AbstractScNameAddDlg_Impl);
IMPL_ABSTDLG_BASE(AbstractScPivotFilterDlg_Impl);
IMPL_ABSTDLG_BASE(AbstractScDPFunctionDlg_Impl);
IMPL_ABSTDLG_BASE(AbstractScDPSubtotalDlg_Impl);
@@ -1131,7 +1133,7 @@ AbstractScNameCreateDlg * ScAbstractDialogFactory_Impl::CreateScNameCreateDlg (
AbstractScNamePasteDlg * ScAbstractDialogFactory_Impl::CreateScNamePasteDlg ( Window * pParent, const ScRangeName* pList,
AbstractScNamePasteDlg * ScAbstractDialogFactory_Impl::CreateScNamePasteDlg ( Window * pParent, const ScRangeName* pList,
const ScRangeName* pLocalList, int nId , bool bInsList )
{
ScNamePasteDlg * pDlg=NULL;
@@ -1150,6 +1152,22 @@ AbstractScNameCreateDlg * ScAbstractDialogFactory_Impl::CreateScNameCreateDlg (
}
AbstractScNameAddDlg* ScAbstractDialogFactory_Impl::CreateScNameAddDlg( Window* pParent, int nId)
{
ScNameDefDlg* pDlg = NULL;
switch ( nId )
{
case RID_SCDLG_NAMES_DEFINE :
pDlg = new ScNameDefDlg( pParent );
break;
default:
break;
}
if ( pDlg )
return new AbstractScNameAddDlg_Impl( pDlg );
return 0;
}
AbstractScPivotFilterDlg * ScAbstractDialogFactory_Impl::CreateScPivotFilterDlg ( Window* pParent,
const SfxItemSet& rArgSet, sal_uInt16 nSourceTab , int nId )

View File

@@ -51,6 +51,7 @@ class ScMetricInputDlg;
class ScMoveTableDlg;
class ScNameCreateDlg;
class ScNamePasteDlg;
class ScNameDefDlg;
class ScPivotFilterDlg;
class ScDPFunctionDlg;
class ScDPSubtotalDlg;
@@ -285,6 +286,11 @@ class AbstractScNamePasteDlg_Impl : public AbstractScNamePasteDlg //add for ScN
virtual String GetSelectedName() const;
};
class AbstractScNameAddDlg_Impl : public AbstractScNameAddDlg // Define Name
{
DECL_ABSTDLG_BASE( AbstractScNameAddDlg_Impl, ScNameDefDlg )
};
class AbstractScPivotFilterDlg_Impl : public AbstractScPivotFilterDlg //add for ScPivotFilterDlg
{
DECL_ABSTDLG_BASE( AbstractScPivotFilterDlg_Impl, ScPivotFilterDlg)
@@ -486,6 +492,8 @@ public:
virtual AbstractScNamePasteDlg * CreateScNamePasteDlg ( Window * pParent, const ScRangeName* pList, //add for ScNamePasteDlg
const ScRangeName* pLocalList, int nId , bool bInsList=true );
virtual AbstractScNameAddDlg* CreateScNameAddDlg ( Window* pParent, int nId);
virtual AbstractScPivotFilterDlg * CreateScPivotFilterDlg ( Window* pParent, //add for ScPivotFilterDlg
const SfxItemSet& rArgSet, sal_uInt16 nSourceTab , int nId );

View File

@@ -0,0 +1,3 @@
#include "sc.hrc"
#define BTN_OK 1

View File

@@ -0,0 +1,43 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* Version: MPL 1.1 / GPLv3+ / LGPLv3+
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License or as specified alternatively below. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* Major Contributor(s):
* [ Copyright (C) 2011 Markus Mohrhard <markus.mohrhard@googlemail.com> (initial developer) ]
*
* All Rights Reserved.
*
* For minor contributions see the git repository.
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 3 or later (the "GPLv3+"), or
* the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
* in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
* instead of those above.
*/
#include "anyrefdg.hxx"
#include "namedefdlg.hrc"
#include <vcl/button.hxx>
class ScNameDefDlg : public ModalDialog
{
private:
OKButton maBtnOk;
public:
ScNameDefDlg(Window* pParent);
};
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */

View File

@@ -0,0 +1,9 @@
#include "namedefdlg.hxx"
ScNameDefDlg::ScNameDefDlg( Window* pParent ) :
ModalDialog( pParent, ScResId( RID_SCDLG_NAMES_DEFINE) ),
maBtnOk( this, ScResId( BTN_OK ) )
{
}

View File

@@ -0,0 +1,21 @@
#include "namedefdlg.hrc"
ModalDialog RID_SCDLG_NAMES_DEFINE
{
OutputSize = TRUE ;
HelpId = CMD_FID_ADD_NAME ;
Hide = TRUE ;
SVLook = TRUE ;
Size = MAP_APPFONT ( 100 , 200 ) ;
Text [ en-US ] = "Define Names" ;
Moveable = TRUE ;
Closeable = TRUE;
OkButton BTN_OK
{
Pos = MAP_APPFONT( 50, 50 );
Size = MAP_APPFONT( 40, 14 );
TabStop = TRUE;
};
};

View File

@@ -1837,6 +1837,16 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq )
}
break;
case FID_ADD_NAME:
{
ScAbstractDialogFactory* pFact = ScAbstractDialogFactory::Create();
AbstractScNameAddDlg* pDlg = pFact->CreateScNameAddDlg( pTabViewShell->GetDialogParent(), RID_SCDLG_NAMES_DEFINE );
pDlg->Execute();
delete pDlg;
}
break;
case SID_RANGE_NOTETEXT:
if (pReqArgs)
{

View File

@@ -451,6 +451,16 @@ void ScEditShell::Execute( SfxRequest& rReq )
}
break;
case FID_ADD_NAME:
{
ScAbstractDialogFactory* pFact = ScAbstractDialogFactory::Create();
AbstractScNameAddDlg* pDlg = pFact->CreateScNameAddDlg( pViewData->GetDialogParent(), RID_SCDLG_NAMES_DEFINE );
pDlg->Execute();
delete pDlg;
}
break;
case SID_CHAR_DLG:
{
SfxItemSet aAttrs( pTableView->GetAttribs() );

View File

@@ -163,6 +163,7 @@
<menu:menuseparator/>
<menu:menu menu:id=".uno:NamesMenu">
<menu:menupopup>
<menu:menuitem menu:id=".uno:AddName"/>
<menu:menuitem menu:id=".uno:DefineName"/>
<menu:menuitem menu:id=".uno:InsertName"/>
<menu:menuseparator/>