summaryrefslogtreecommitdiff
path: root/sc/source
diff options
context:
space:
mode:
Diffstat (limited to 'sc/source')
-rw-r--r--sc/source/ui/attrdlg/scdlgfact.cxx26
-rw-r--r--sc/source/ui/attrdlg/scdlgfact.hxx11
-rw-r--r--sc/source/ui/inc/namedefdlg.hxx7
-rw-r--r--sc/source/ui/inc/namedlg.hxx31
-rw-r--r--sc/source/ui/inc/namemgrtable.hxx59
-rw-r--r--sc/source/ui/inc/namepast.hxx5
-rw-r--r--sc/source/ui/namedlg/namedefdlg.cxx6
-rw-r--r--sc/source/ui/namedlg/namedlg.cxx95
-rw-r--r--sc/source/ui/namedlg/namemgrtable.cxx138
-rw-r--r--sc/source/ui/namedlg/namepast.cxx (renamed from sc/source/ui/miscdlgs/namepast.cxx)11
-rw-r--r--sc/source/ui/view/cellsh1.cxx19
-rw-r--r--sc/source/ui/view/editsh.cxx22
12 files changed, 236 insertions, 194 deletions
diff --git a/sc/source/ui/attrdlg/scdlgfact.cxx b/sc/source/ui/attrdlg/scdlgfact.cxx
index bcfee55a5416..11ba37318e0b 100644
--- a/sc/source/ui/attrdlg/scdlgfact.cxx
+++ b/sc/source/ui/attrdlg/scdlgfact.cxx
@@ -107,7 +107,6 @@ 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);
@@ -508,12 +507,16 @@ sal_uInt16 AbstractScNameCreateDlg_Impl::GetFlags() const
-String AbstractScNamePasteDlg_Impl::GetSelectedName() const
+std::vector<rtl::OUString> AbstractScNamePasteDlg_Impl::GetSelectedNames() const
{
- return pDlg->GetSelectedName();
+ return pDlg->GetSelectedNames();
}
+bool AbstractScNamePasteDlg_Impl::IsAllSelected() const
+{
+ return pDlg->IsAllSelected();
+}
const ScQueryItem& AbstractScPivotFilterDlg_Impl::GetOutputItem()
@@ -1152,23 +1155,6 @@ AbstractScNamePasteDlg * ScAbstractDialogFactory_Impl::CreateScNamePasteDlg ( Wi
}
-AbstractScNameAddDlg* ScAbstractDialogFactory_Impl::CreateScNameAddDlg( Window* pParent, ScDocument* pDoc, std::map<rtl::OUString, ScRangeName*> aRangeMap, const ScAddress& aCursorPos, const bool bUndo, int nId)
-{
- ScNameDefDlg* pDlg = NULL;
- switch ( nId )
- {
- case RID_SCDLG_NAMES_DEFINE :
- pDlg = new ScNameDefDlg( pParent, pDoc, aRangeMap, aCursorPos, bUndo );
- 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 )
{
diff --git a/sc/source/ui/attrdlg/scdlgfact.hxx b/sc/source/ui/attrdlg/scdlgfact.hxx
index 59ef68e08a31..33a6a569785e 100644
--- a/sc/source/ui/attrdlg/scdlgfact.hxx
+++ b/sc/source/ui/attrdlg/scdlgfact.hxx
@@ -283,12 +283,8 @@ class AbstractScNameCreateDlg_Impl : public AbstractScNameCreateDlg //add for S
class AbstractScNamePasteDlg_Impl : public AbstractScNamePasteDlg //add for ScNamePasteDlg
{
DECL_ABSTDLG_BASE( AbstractScNamePasteDlg_Impl, ScNamePasteDlg )
- virtual String GetSelectedName() const;
-};
-
-class AbstractScNameAddDlg_Impl : public AbstractScNameAddDlg // Define Name
-{
- DECL_ABSTDLG_BASE( AbstractScNameAddDlg_Impl, ScNameDefDlg )
+ virtual std::vector<rtl::OUString> GetSelectedNames() const;
+ virtual bool IsAllSelected() const;
};
class AbstractScPivotFilterDlg_Impl : public AbstractScPivotFilterDlg //add for ScPivotFilterDlg
@@ -492,9 +488,6 @@ 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, ScDocument* pDoc, std::map<rtl::OUString, ScRangeName*> aRangeMap,
- const ScAddress& aCursorPos, const bool bUndo, int nId);
-
virtual AbstractScPivotFilterDlg * CreateScPivotFilterDlg ( Window* pParent, //add for ScPivotFilterDlg
const SfxItemSet& rArgSet, sal_uInt16 nSourceTab , int nId );
diff --git a/sc/source/ui/inc/namedefdlg.hxx b/sc/source/ui/inc/namedefdlg.hxx
index 2ab03b18997b..33a1ae2cacbf 100644
--- a/sc/source/ui/inc/namedefdlg.hxx
+++ b/sc/source/ui/inc/namedefdlg.hxx
@@ -38,7 +38,7 @@
class ScRangeName;
class ScDocument;
-class ScNameDefDlg : public ModalDialog
+class ScNameDefDlg : public ScAnyRefDlg
{
private:
PushButton maBtnAdd;
@@ -77,9 +77,10 @@ private:
DECL_LINK( AddBtnHdl, void* );
DECL_LINK( NameModifyHdl, void* );
public:
- ScNameDefDlg(Window* pParent, ScDocument* pDoc, std::map<rtl::OUString, ScRangeName*> aRangeMap, const ScAddress& aCursorPos, const bool bUndo);
+ ScNameDefDlg( SfxBindings* pB, SfxChildWindow* pCW, Window* pParent,
+ ScDocument* pDoc, std::map<rtl::OUString, ScRangeName*> aRangeMap,
+ const ScAddress& aCursorPos, const bool bUndo);
};
-
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/ui/inc/namedlg.hxx b/sc/source/ui/inc/namedlg.hxx
index 1f087d13fa6b..7dc6a0d9f009 100644
--- a/sc/source/ui/inc/namedlg.hxx
+++ b/sc/source/ui/inc/namedlg.hxx
@@ -35,10 +35,10 @@
#include <vcl/fixed.hxx>
#include <vcl/lstbox.hxx>
#include <vcl/ctrl.hxx>
-#include <svtools/headbar.hxx>
-#include <svtools/svtabbx.hxx>
+
#include "rangenam.hxx"
#include "anyrefdg.hxx"
+#include "namemgrtable.hxx"
#include <boost/ptr_container/ptr_map.hpp>
#include <boost/ptr_container/ptr_set.hpp>
@@ -48,35 +48,8 @@
class ScViewData;
class ScDocument;
-struct ScNameDlgImpl;
-struct ScRangeNameLine
-{
- rtl::OUString aName;
- rtl::OUString aExpression;
- rtl::OUString aScope;
-};
-//Implements the table for the manage names dialog
-//TODO: cache the lines for performance improvements
-//otherwise handling of a large set of range names might get extremely slow
-//Need some sort of a filter to handle several range names
-class ScRangeManagerTable : public SvTabListBox
-{
-private:
- HeaderBar maHeaderBar;
- ScRangeName* mpGlobalRangeName;
- std::map<rtl::OUString, ScRangeName*> maTabRangeNames;
- rtl::OUString maGlobalString;
-public:
- ScRangeManagerTable( Window* pParent, ScRangeName* pGlobalRangeName, std::map<rtl::OUString, ScRangeName*> aTabRangeNames );
- ~ScRangeManagerTable() {};
-
- void addEntry( const ScRangeNameLine& rLine );
-
- void GetCurrentLine(ScRangeNameLine& rLine);
- void UpdateEntries();
-};
class ScRangeManagerCtrl : public Control
{
diff --git a/sc/source/ui/inc/namemgrtable.hxx b/sc/source/ui/inc/namemgrtable.hxx
new file mode 100644
index 000000000000..52d864f235e2
--- /dev/null
+++ b/sc/source/ui/inc/namemgrtable.hxx
@@ -0,0 +1,59 @@
+/* -*- 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 <svtools/headbar.hxx>
+#include <svtools/svtabbx.hxx>
+
+struct ScRangeNameLine
+{
+ rtl::OUString aName;
+ rtl::OUString aExpression;
+ rtl::OUString aScope;
+};
+
+//Implements the table for the manage names dialog
+//TODO: cache the lines for performance improvements
+//otherwise handling of a large set of range names might get extremely slow
+//Need some sort of a filter to handle several range names
+SC_DLLPUBLIC class ScRangeManagerTable : public SvTabListBox
+{
+private:
+ HeaderBar maHeaderBar;
+ ScRangeName* mpGlobalRangeName;
+ std::map<rtl::OUString, ScRangeName*> maTabRangeNames;
+ rtl::OUString maGlobalString;
+public:
+ ScRangeManagerTable( Window* pParent, ScRangeName* pGlobalRangeName, std::map<rtl::OUString, ScRangeName*> aTabRangeNames );
+ ~ScRangeManagerTable() {};
+
+ void addEntry( const ScRangeNameLine& rLine );
+
+ void GetCurrentLine(ScRangeNameLine& rLine);
+ void UpdateEntries();
+};
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/ui/inc/namepast.hxx b/sc/source/ui/inc/namepast.hxx
index a5d7e8127ab7..618201aead6c 100644
--- a/sc/source/ui/inc/namepast.hxx
+++ b/sc/source/ui/inc/namepast.hxx
@@ -34,6 +34,8 @@
#include <vcl/fixed.hxx>
#include <vcl/lstbox.hxx>
+#include <vector>
+
#include "scui_def.hxx"
class ScRangeName;
@@ -53,7 +55,8 @@ protected:
public:
ScNamePasteDlg( Window * pParent, const ScRangeName* pList, const ScRangeName* pLocalList, bool bInsList=true );
- String GetSelectedName() const;
+ std::vector<rtl::OUString> GetSelectedNames() const;
+ bool IsAllSelected() const;
};
diff --git a/sc/source/ui/namedlg/namedefdlg.cxx b/sc/source/ui/namedlg/namedefdlg.cxx
index bc7d9fac087b..3c26e5311762 100644
--- a/sc/source/ui/namedlg/namedefdlg.cxx
+++ b/sc/source/ui/namedlg/namedefdlg.cxx
@@ -9,8 +9,10 @@
-ScNameDefDlg::ScNameDefDlg( Window* pParent, ScDocument* pDoc, std::map<rtl::OUString, ScRangeName*> aRangeMap, const ScAddress& aCursorPos, const bool bUndo ) :
- ModalDialog( pParent, ScResId( RID_SCDLG_NAMES_DEFINE) ),
+ScNameDefDlg::ScNameDefDlg( SfxBindings* pB, SfxChildWindow* pCW, Window* pParent,
+ ScDocument* pDoc, std::map<rtl::OUString, ScRangeName*> aRangeMap,
+ const ScAddress& aCursorPos, const bool bUndo ) :
+ ScAnyRefDlg( pB, pCW, pParent, RID_SCDLG_NAMES_DEFINE ),
maBtnAdd( this, ScResId( BTN_ADD ) ),
maBtnCancel( this, ScResId( BTN_CANCEL ) ),
maFtInfo( this, ScResId( FT_INFO ) ),
diff --git a/sc/source/ui/namedlg/namedlg.cxx b/sc/source/ui/namedlg/namedlg.cxx
index 873875ecb151..576cc417ca42 100644
--- a/sc/source/ui/namedlg/namedlg.cxx
+++ b/sc/source/ui/namedlg/namedlg.cxx
@@ -63,11 +63,7 @@ using ::std::auto_ptr;
#define ABS_SREF3D ABS_SREF | SCA_TAB_3D
#define ABS_DREF3D ABS_DREF | SCA_TAB_3D
-//ScRangeManagerTable
-
-#define ITEMID_NAME 1
-#define ITEMID_RANGE 2
-#define ITEMID_SCOPE 3
+//helper
namespace {
@@ -88,95 +84,6 @@ ScRangeName* GetRangeName(const rtl::OUString& rTableName, ScDocument* pDoc)
}
-String createEntryString(const ScRangeNameLine& rLine)
-{
- String aRet(rLine.aName);
- aRet += '\t';
- aRet += String(rLine.aExpression);
- aRet += '\t';
- aRet += String(rLine.aScope);
- return aRet;
-}
-
-ScRangeManagerTable::ScRangeManagerTable( Window* pWindow, ScRangeName* pGlobalRangeName, std::map<rtl::OUString, ScRangeName*> aTabRangeNames ):
- SvTabListBox( pWindow, WB_SORT | WB_HSCROLL | WB_CLIPCHILDREN | WB_TABSTOP ),
- maHeaderBar( pWindow, WB_BUTTONSTYLE | WB_BOTTOMBORDER ),
- mpGlobalRangeName( pGlobalRangeName ),
- maTabRangeNames( aTabRangeNames ),
- maGlobalString( ResId::toString(ScResId(STR_GLOBAL_SCOPE)))
-{
- Size aBoxSize( pWindow->GetOutputSizePixel() );
-
- maHeaderBar.SetPosSizePixel( Point(0, 0), Size( aBoxSize.Width(), 16 ) );
-
- String aNameStr(ScResId(STR_HEADER_NAME));
- String aRangeStr(ScResId(STR_HEADER_RANGE));
- String aScopeStr(ScResId(STR_HEADER_SCOPE));
-
- long nTabSize = aBoxSize.Width()/3;
- maHeaderBar.InsertItem( ITEMID_NAME, aNameStr, nTabSize, HIB_LEFT| HIB_VCENTER );
- maHeaderBar.InsertItem( ITEMID_RANGE, aRangeStr, nTabSize, HIB_LEFT| HIB_VCENTER );
- maHeaderBar.InsertItem( ITEMID_SCOPE, aScopeStr, nTabSize, HIB_LEFT| HIB_VCENTER );
-
- static long nTabs[] = {3, 0, nTabSize, 2*nTabSize };
- Size aHeadSize( maHeaderBar.GetSizePixel() );
-
- //pParent->SetFocusControl( this );
- SetPosSizePixel( Point( 0, aHeadSize.Height() ), Size( aBoxSize.Width(), aBoxSize.Height() - aHeadSize.Height() ) );
- SetTabs( &nTabs[0], MAP_PIXEL );
-
- Show();
- maHeaderBar.Show();
-}
-
-void ScRangeManagerTable::addEntry(const ScRangeNameLine& rLine)
-{
- SvLBoxEntry* pEntry = InsertEntryToColumn( createEntryString(rLine), LIST_APPEND, 0xffff);
- SetCurEntry(pEntry);
-}
-
-void ScRangeManagerTable::GetCurrentLine(ScRangeNameLine& rLine)
-{
- SvLBoxEntry* pCurrentEntry = GetCurEntry();
- rLine.aName = GetEntryText( pCurrentEntry, 0);
- rLine.aExpression = GetEntryText(pCurrentEntry, 1);
- rLine.aScope = GetEntryText(pCurrentEntry, 2);
-}
-
-void ScRangeManagerTable::UpdateEntries()
-{
- Clear();
- for (ScRangeName::iterator itr = mpGlobalRangeName->begin();
- itr != mpGlobalRangeName->end(); ++itr)
- {
- if (!itr->HasType(RT_DATABASE) && !itr->HasType(RT_SHARED))
- {
- ScRangeNameLine aLine;
- aLine.aName = itr->GetName();
- aLine.aScope = maGlobalString;
- itr->GetSymbol(aLine.aExpression);
- addEntry(aLine);
- }
- }
- for (std::map<rtl::OUString, ScRangeName*>::iterator itr = maTabRangeNames.begin();
- itr != maTabRangeNames.end(); ++itr)
- {
- ScRangeName* pLocalRangeName = itr->second;
- ScRangeNameLine aLine;
- aLine.aScope = itr->first;
- for (ScRangeName::iterator it = pLocalRangeName->begin();
- it != pLocalRangeName->end(); ++it)
- {
- if (!it->HasType(RT_DATABASE) && !it->HasType(RT_SHARED))
- {
- aLine.aName = it->GetName();
- it->GetSymbol(aLine.aExpression);
- addEntry(aLine);
- }
- }
- }
-}
-
//logic
#define ERRORBOX(s) ErrorBox(this,WinBits(WB_OK|WB_DEF_OK),s).Execute();
diff --git a/sc/source/ui/namedlg/namemgrtable.cxx b/sc/source/ui/namedlg/namemgrtable.cxx
new file mode 100644
index 000000000000..40309d8f4ed7
--- /dev/null
+++ b/sc/source/ui/namedlg/namemgrtable.cxx
@@ -0,0 +1,138 @@
+/* -*- 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.
+ */
+//ScRangeManagerTable
+#include "global.hxx"
+#include "reffact.hxx"
+#include "document.hxx"
+#include "docfunc.hxx"
+#include "scresid.hxx"
+#include "globstr.hrc"
+#include "namedlg.hrc"
+#include "namedlg.hxx"
+#include "viewdata.hxx"
+
+#include "sfx2/app.hxx"
+
+#define ITEMID_NAME 1
+#define ITEMID_RANGE 2
+#define ITEMID_SCOPE 3
+
+
+
+String createEntryString(const ScRangeNameLine& rLine)
+{
+ String aRet(rLine.aName);
+ aRet += '\t';
+ aRet += String(rLine.aExpression);
+ aRet += '\t';
+ aRet += String(rLine.aScope);
+ return aRet;
+}
+
+ScRangeManagerTable::ScRangeManagerTable( Window* pWindow, ScRangeName* pGlobalRangeName, std::map<rtl::OUString, ScRangeName*> aTabRangeNames ):
+ SvTabListBox( pWindow, WB_SORT | WB_HSCROLL | WB_CLIPCHILDREN | WB_TABSTOP ),
+ maHeaderBar( pWindow, WB_BUTTONSTYLE | WB_BOTTOMBORDER ),
+ mpGlobalRangeName( pGlobalRangeName ),
+ maTabRangeNames( aTabRangeNames ),
+ maGlobalString( ResId::toString(ScResId(STR_GLOBAL_SCOPE)))
+{
+ Size aBoxSize( pWindow->GetOutputSizePixel() );
+
+ maHeaderBar.SetPosSizePixel( Point(0, 0), Size( aBoxSize.Width(), 16 ) );
+
+ String aNameStr(ScResId(STR_HEADER_NAME));
+ String aRangeStr(ScResId(STR_HEADER_RANGE));
+ String aScopeStr(ScResId(STR_HEADER_SCOPE));
+
+ long nTabSize = aBoxSize.Width()/3;
+ maHeaderBar.InsertItem( ITEMID_NAME, aNameStr, nTabSize, HIB_LEFT| HIB_VCENTER );
+ maHeaderBar.InsertItem( ITEMID_RANGE, aRangeStr, nTabSize, HIB_LEFT| HIB_VCENTER );
+ maHeaderBar.InsertItem( ITEMID_SCOPE, aScopeStr, nTabSize, HIB_LEFT| HIB_VCENTER );
+
+ static long nTabs[] = {3, 0, nTabSize, 2*nTabSize };
+ Size aHeadSize( maHeaderBar.GetSizePixel() );
+
+ //pParent->SetFocusControl( this );
+ SetPosSizePixel( Point( 0, aHeadSize.Height() ), Size( aBoxSize.Width(), aBoxSize.Height() - aHeadSize.Height() ) );
+ SetTabs( &nTabs[0], MAP_PIXEL );
+
+ Show();
+ maHeaderBar.Show();
+}
+
+void ScRangeManagerTable::addEntry(const ScRangeNameLine& rLine)
+{
+ SvLBoxEntry* pEntry = InsertEntryToColumn( createEntryString(rLine), LIST_APPEND, 0xffff);
+ SetCurEntry(pEntry);
+}
+
+void ScRangeManagerTable::GetCurrentLine(ScRangeNameLine& rLine)
+{
+ SvLBoxEntry* pCurrentEntry = GetCurEntry();
+ rLine.aName = GetEntryText( pCurrentEntry, 0);
+ rLine.aExpression = GetEntryText(pCurrentEntry, 1);
+ rLine.aScope = GetEntryText(pCurrentEntry, 2);
+}
+
+void ScRangeManagerTable::UpdateEntries()
+{
+ Clear();
+ for (ScRangeName::iterator itr = mpGlobalRangeName->begin();
+ itr != mpGlobalRangeName->end(); ++itr)
+ {
+ if (!itr->HasType(RT_DATABASE) && !itr->HasType(RT_SHARED))
+ {
+ ScRangeNameLine aLine;
+ aLine.aName = itr->GetName();
+ aLine.aScope = maGlobalString;
+ itr->GetSymbol(aLine.aExpression);
+ addEntry(aLine);
+ }
+ }
+ for (std::map<rtl::OUString, ScRangeName*>::iterator itr = maTabRangeNames.begin();
+ itr != maTabRangeNames.end(); ++itr)
+ {
+ ScRangeName* pLocalRangeName = itr->second;
+ ScRangeNameLine aLine;
+ aLine.aScope = itr->first;
+ for (ScRangeName::iterator it = pLocalRangeName->begin();
+ it != pLocalRangeName->end(); ++it)
+ {
+ if (!it->HasType(RT_DATABASE) && !it->HasType(RT_SHARED))
+ {
+ aLine.aName = it->GetName();
+ it->GetSymbol(aLine.aExpression);
+ addEntry(aLine);
+ }
+ }
+ }
+}
+
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/ui/miscdlgs/namepast.cxx b/sc/source/ui/namedlg/namepast.cxx
index 7c469c23b559..0480f01944b3 100644
--- a/sc/source/ui/miscdlgs/namepast.cxx
+++ b/sc/source/ui/namedlg/namepast.cxx
@@ -122,9 +122,16 @@ IMPL_LINK_INLINE_END( ScNamePasteDlg, ListDblClickHdl, ListBox *, pListBox )
//------------------------------------------------------------------
-String ScNamePasteDlg::GetSelectedName() const
+std::vector<rtl::OUString> ScNamePasteDlg::GetSelectedNames() const
{
- return aNameList.GetSelectEntry();
+ std::vector<rtl::OUString> aSelectedNames;
+ aSelectedNames.push_back(aNameList.GetSelectEntry());
+ return aSelectedNames;
+}
+
+bool ScNamePasteDlg::IsAllSelected() const
+{
+ return false;
}
diff --git a/sc/source/ui/view/cellsh1.cxx b/sc/source/ui/view/cellsh1.cxx
index c5939759d069..ea4be5ef9659 100644
--- a/sc/source/ui/view/cellsh1.cxx
+++ b/sc/source/ui/view/cellsh1.cxx
@@ -1828,8 +1828,8 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq )
// "=" in KeyEvent, switches to input-mode
pScMod->InputKeyEvent( KeyEvent('=',KeyCode()) );
- String aName = pDlg->GetSelectedName();
- pHdl->InsertFunction( aName, false ); // without "()"
+ std::vector<rtl::OUString> aNames = pDlg->GetSelectedNames();
+ pHdl->InsertFunction( aNames.at(0), false ); // without "()"
}
}
break;
@@ -1838,21 +1838,6 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq )
}
break;
- case FID_ADD_NAME:
- {
- ScAbstractDialogFactory* pFact = ScAbstractDialogFactory::Create();
-
- std::cout << "Create Dialog in cellsh1.cxx" << std::endl;
- ScDocument* pDoc = GetViewData()->GetDocument();
- std::map<rtl::OUString, ScRangeName*> aRangeMap;
- pDoc->GetRangeNameMap(aRangeMap);
- ScAddress aPos( GetViewData()->GetCurX(), GetViewData()->GetCurY(), GetViewData()->GetTabNo() );
- AbstractScNameAddDlg* pDlg = pFact->CreateScNameAddDlg( pTabViewShell->GetDialogParent(), pDoc, aRangeMap, aPos, true, RID_SCDLG_NAMES_DEFINE );
- pDlg->Execute();
- delete pDlg;
- }
- break;
-
case SID_RANGE_NOTETEXT:
if (pReqArgs)
{
diff --git a/sc/source/ui/view/editsh.cxx b/sc/source/ui/view/editsh.cxx
index 61a36a71e70b..c6fd63c63f9b 100644
--- a/sc/source/ui/view/editsh.cxx
+++ b/sc/source/ui/view/editsh.cxx
@@ -94,6 +94,8 @@
#include "scui_def.hxx"
#include "scabstdlg.hxx"
+#include <iostream>
+
using namespace ::com::sun::star;
@@ -439,10 +441,10 @@ void ScEditShell::Execute( SfxRequest& rReq )
if ( nRet == BTN_PASTE_NAME )
{
- String aName = pDlg->GetSelectedName();
- pTableView->InsertText(aName);
+ std::vector<rtl::OUString> aNames = pDlg->GetSelectedNames();
+ pTableView->InsertText(aNames.at(0));
if (pTopView)
- pTopView->InsertText(aName);
+ pTopView->InsertText(aNames.at(0));
}
delete pDlg;
@@ -451,20 +453,6 @@ void ScEditShell::Execute( SfxRequest& rReq )
}
break;
- case FID_ADD_NAME:
- {
- ScAbstractDialogFactory* pFact = ScAbstractDialogFactory::Create();
-
- ScDocument* pDoc = pViewData->GetDocument();
- std::map<rtl::OUString, ScRangeName*> aRangeMap;
- pDoc->GetRangeNameMap(aRangeMap);
- ScAddress aPos( pViewData->GetCurX(), pViewData->GetCurY(), pViewData->GetTabNo() );
- AbstractScNameAddDlg* pDlg = pFact->CreateScNameAddDlg( pViewData->GetDialogParent(), pDoc, aRangeMap, aPos, true, RID_SCDLG_NAMES_DEFINE );
- pDlg->Execute();
- delete pDlg;
- }
- break;
-
case SID_CHAR_DLG:
{
SfxItemSet aAttrs( pTableView->GetAttribs() );