summaryrefslogtreecommitdiffstats
path: root/sc/source/ui/namedlg/namemgrtable.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sc/source/ui/namedlg/namemgrtable.cxx')
-rw-r--r--sc/source/ui/namedlg/namemgrtable.cxx284
1 files changed, 0 insertions, 284 deletions
diff --git a/sc/source/ui/namedlg/namemgrtable.cxx b/sc/source/ui/namedlg/namemgrtable.cxx
index 22bde43d02fc..35311d853523 100644
--- a/sc/source/ui/namedlg/namemgrtable.cxx
+++ b/sc/source/ui/namedlg/namemgrtable.cxx
@@ -22,118 +22,6 @@
#include <vcl/layout.hxx>
#include <tools/link.hxx>
-#define ITEMID_NAME 1
-#define ITEMID_RANGE 2
-#define ITEMID_SCOPE 3
-
-#define MINSIZE 80
-
-static OUString createEntryString(const ScRangeNameLine& rLine)
-{
- OUString aRet = rLine.aName + "\t" + rLine.aExpression + "\t" + rLine.aScope;
- return aRet;
-}
-
-ScRangeManagerTable::InitListener::~InitListener() {}
-
-ScRangeManagerTable::ScRangeManagerTable(SvSimpleTableContainer& rParent,
- const std::map<OUString, std::unique_ptr<ScRangeName>>& rRangeMap,
- const ScAddress& rPos)
- : SvSimpleTable( rParent, WB_SORT | WB_HSCROLL | WB_CLIPCHILDREN | WB_TABSTOP )
- , maGlobalString( ScResId(STR_GLOBAL_SCOPE))
- , m_RangeMap(rRangeMap)
- , maPos( rPos )
- , mpInitListener(nullptr)
-{
- static long aStaticTabs[] = { 0, 0, 0 };
- SetTabs( SAL_N_ELEMENTS(aStaticTabs), aStaticTabs, MapUnit::MapPixel );
-
- OUString aNameStr(ScResId(STR_HEADER_NAME));
- OUString aRangeStr(ScResId(STR_HEADER_RANGE_OR_EXPR));
- OUString aScopeStr(ScResId(STR_HEADER_SCOPE));
-
- HeaderBar& rHeaderBar = GetTheHeaderBar();
- InsertHeaderEntry( aNameStr );
- InsertHeaderEntry( aRangeStr );
- InsertHeaderEntry( aScopeStr );
- rHeaderBar.SetEndDragHdl( LINK( this, ScRangeManagerTable, HeaderEndDragHdl ) );
-
- setColWidths();
- UpdateViewSize();
- Init();
- ShowTable();
- SetSelectionMode(SelectionMode::Multiple);
- SetScrolledHdl( LINK( this, ScRangeManagerTable, ScrollHdl ) );
- HeaderEndDragHdl(nullptr);
-}
-
-void ScRangeManagerTable::Resize()
-{
- SvSimpleTable::Resize();
- if (isInitialLayout(this))
- setColWidths();
-}
-
-void ScRangeManagerTable::StateChanged( StateChangedType nStateChange )
-{
- SvSimpleTable::StateChanged(nStateChange);
-
- if (nStateChange == StateChangedType::InitShow)
- {
- if (GetEntryCount())
- {
- SetCurEntry(GetEntryOnPos(0));
- CheckForFormulaString();
- }
-
- if (mpInitListener)
- mpInitListener->tableInitialized();
- }
-}
-
-void ScRangeManagerTable::setColWidths()
-{
- HeaderBar &rHeaderBar = GetTheHeaderBar();
- if (rHeaderBar.GetItemCount() < 3)
- return;
- long nTabSize = GetSizePixel().Width() / 3;
- rHeaderBar.SetItemSize( ITEMID_NAME, nTabSize);
- rHeaderBar.SetItemSize( ITEMID_RANGE, nTabSize);
- rHeaderBar.SetItemSize( ITEMID_SCOPE, nTabSize);
- static long aStaticTabs[] = {0, nTabSize, 2*nTabSize };
- SetTabs( SAL_N_ELEMENTS(aStaticTabs), aStaticTabs, MapUnit::MapPixel );
- HeaderEndDragHdl(nullptr);
-}
-
-ScRangeManagerTable::~ScRangeManagerTable()
-{
- disposeOnce();
-}
-
-void ScRangeManagerTable::dispose()
-{
- Clear();
- SvSimpleTable::dispose();
-}
-
-void ScRangeManagerTable::setInitListener( InitListener* pListener )
-{
- mpInitListener = pListener;
-}
-
-void ScRangeManagerTable::addEntry(const ScRangeNameLine& rLine, bool bSetCurEntry)
-{
- SvTreeListEntry* pEntry = InsertEntryToColumn( createEntryString(rLine));
- if (bSetCurEntry)
- SetCurEntry(pEntry);
-}
-
-void ScRangeManagerTable::GetCurrentLine(ScRangeNameLine& rLine)
-{
- SvTreeListEntry* pCurrentEntry = GetCurEntry();
- GetLine(rLine, pCurrentEntry);
-}
-
void RangeManagerTable::GetCurrentLine(ScRangeNameLine& rLine)
{
std::unique_ptr<weld::TreeIter> xCurrentEntry(m_xTreeView->make_iterator());
@@ -141,72 +29,6 @@ void RangeManagerTable::GetCurrentLine(ScRangeNameLine& rLine)
GetLine(rLine, *xCurrentEntry);
}
-void ScRangeManagerTable::GetLine(ScRangeNameLine& rLine, SvTreeListEntry* pEntry)
-{
- rLine.aName = GetEntryText( pEntry, 0);
- rLine.aExpression = GetEntryText(pEntry, 1);
- rLine.aScope = GetEntryText(pEntry, 2);
-}
-
-void ScRangeManagerTable::Init()
-{
- SetUpdateMode(false);
- Clear();
- for (auto const& itr : m_RangeMap)
- {
- const ScRangeName *const pLocalRangeName = itr.second.get();
- ScRangeNameLine aLine;
- if (itr.first == STR_GLOBAL_RANGE_NAME)
- aLine.aScope = maGlobalString;
- else
- aLine.aScope = itr.first;
- for (const auto& rEntry : *pLocalRangeName)
- {
- if (!rEntry.second->HasType(ScRangeData::Type::Database))
- {
- aLine.aName = rEntry.second->GetName();
- addEntry(aLine, false);
- }
- }
- }
- SetUpdateMode(true);
-}
-
-const ScRangeData* ScRangeManagerTable::findRangeData(const ScRangeNameLine& rLine)
-{
- const ScRangeName* pRangeName;
- if (rLine.aScope == maGlobalString)
- pRangeName = m_RangeMap.find(OUString(STR_GLOBAL_RANGE_NAME))->second.get();
- else
- pRangeName = m_RangeMap.find(rLine.aScope)->second.get();
-
- return pRangeName->findByUpperName(ScGlobal::pCharClass->uppercase(rLine.aName));
-}
-
-void ScRangeManagerTable::CheckForFormulaString()
-{
- for (SvTreeListEntry* pEntry = GetFirstEntryInView(); pEntry ; pEntry = GetNextEntryInView(pEntry))
- {
- std::map<SvTreeListEntry*, bool>::const_iterator itr = maCalculatedFormulaEntries.find(pEntry);
- if (itr == maCalculatedFormulaEntries.end() || !itr->second)
- {
- ScRangeNameLine aLine;
- GetLine( aLine, pEntry);
- const ScRangeData* pData = findRangeData( aLine );
- OUString aFormulaString;
- pData->GetSymbol(aFormulaString, maPos);
- SetEntryText(aFormulaString, pEntry, 1);
- maCalculatedFormulaEntries.insert( std::pair<SvTreeListEntry*, bool>(pEntry, true) );
- }
- }
-}
-
-void ScRangeManagerTable::DeleteSelectedEntries()
-{
- if (GetSelectionCount())
- RemoveSelection();
-}
-
void RangeManagerTable::DeleteSelectedEntries()
{
std::vector<int> aRows = m_xTreeView->get_selected_rows();
@@ -215,47 +37,11 @@ void RangeManagerTable::DeleteSelectedEntries()
m_xTreeView->remove(*it);
}
-bool ScRangeManagerTable::IsMultiSelection()
-{
- return GetSelectionCount() > 1;
-}
-
bool RangeManagerTable::IsMultiSelection()
{
return m_xTreeView->count_selected_rows() > 1;
}
-std::vector<ScRangeNameLine> ScRangeManagerTable::GetSelectedEntries()
-{
- std::vector<ScRangeNameLine> aSelectedEntries;
- if (GetSelectionCount())
- {
- for (SvTreeListEntry* pEntry = FirstSelected(); pEntry != LastSelected(); pEntry = NextSelected(pEntry))
- {
- ScRangeNameLine aLine;
- GetLine( aLine, pEntry );
- aSelectedEntries.push_back(aLine);
- }
- SvTreeListEntry* pEntry = LastSelected();
- ScRangeNameLine aLine;
- GetLine( aLine, pEntry );
- aSelectedEntries.push_back(aLine);
- }
- return aSelectedEntries;
-}
-
-void ScRangeManagerTable::SetEntry(const ScRangeNameLine& rLine)
-{
- for (SvTreeListEntry* pEntry = First(); pEntry; pEntry = Next(pEntry))
- {
- if (rLine.aName == GetEntryText(pEntry, 0)
- && rLine.aScope == GetEntryText(pEntry, 2))
- {
- SetCurEntry(pEntry);
- }
- }
-}
-
void RangeManagerTable::SetEntry(const ScRangeNameLine& rLine)
{
for (int i = 0, nEntryCount = m_xTreeView->n_children(); i < nEntryCount; ++i)
@@ -268,76 +54,6 @@ void RangeManagerTable::SetEntry(const ScRangeNameLine& rLine)
}
}
-namespace {
-
-//ensure that the minimum column size is respected
-void CalculateItemSize(long rTableSize, long& rItemNameSize, long& rItemRangeSize)
-{
- long aItemScopeSize = rTableSize - rItemNameSize - rItemRangeSize;
-
- if (rItemNameSize >= MINSIZE && rItemRangeSize >= MINSIZE && aItemScopeSize >= MINSIZE)
- return;
-
- if (rItemNameSize < MINSIZE)
- {
- long aDiffSize = MINSIZE - rItemNameSize;
- if (rItemRangeSize > aItemScopeSize)
- rItemRangeSize -= aDiffSize;
- else
- aItemScopeSize -= aDiffSize;
- rItemNameSize = MINSIZE;
- }
-
- if (rItemRangeSize < MINSIZE)
- {
- long aDiffSize = MINSIZE - rItemRangeSize;
- if (rItemNameSize > aItemScopeSize)
- rItemNameSize -= aDiffSize;
- else
- aItemScopeSize -= aDiffSize;
- rItemRangeSize = MINSIZE;
- }
-
- if (aItemScopeSize < MINSIZE)
- {
- long aDiffSize = MINSIZE - aItemScopeSize;
- if (rItemNameSize > rItemRangeSize)
- rItemNameSize -= aDiffSize;
- else
- rItemRangeSize -= aDiffSize;
- }
-}
-
-}
-
-IMPL_LINK_NOARG(ScRangeManagerTable, HeaderEndDragHdl, HeaderBar*, void)
-{
- HeaderBar& rHeaderBar = GetTheHeaderBar();
-
- long nTableSize = rHeaderBar.GetSizePixel().Width();
- long nItemNameSize = rHeaderBar.GetItemSize(ITEMID_NAME);
- long nItemRangeSize = rHeaderBar.GetItemSize(ITEMID_RANGE);
-
- //calculate column size based on user input and minimum size
- CalculateItemSize(nTableSize, nItemNameSize, nItemRangeSize);
- long nItemScopeSize = nTableSize - nItemNameSize - nItemRangeSize;
-
- Size aSz(nItemNameSize, 0);
- rHeaderBar.SetItemSize(ITEMID_NAME, nItemNameSize);
- rHeaderBar.SetItemSize(ITEMID_RANGE, nItemRangeSize);
- rHeaderBar.SetItemSize(ITEMID_SCOPE, nItemScopeSize);
-
- SetTab(0, 0);
- SetTab(1, PixelToLogic( aSz, MapMode(MapUnit::MapAppFont) ).Width() );
- aSz.AdjustWidth(nItemRangeSize );
- SetTab(2, PixelToLogic( aSz, MapMode(MapUnit::MapAppFont) ).Width() );
-}
-
-IMPL_LINK_NOARG(ScRangeManagerTable, ScrollHdl, SvTreeListBox*, void)
-{
- CheckForFormulaString();
-}
-
RangeManagerTable::RangeManagerTable(std::unique_ptr<weld::TreeView> xTreeView,
const std::map<OUString, std::unique_ptr<ScRangeName>>& rRangeMap,
const ScAddress& rPos)