diff options
Diffstat (limited to 'reportdesign/source/ui/dlg/Navigator.cxx')
-rw-r--r-- | reportdesign/source/ui/dlg/Navigator.cxx | 57 |
1 files changed, 14 insertions, 43 deletions
diff --git a/reportdesign/source/ui/dlg/Navigator.cxx b/reportdesign/source/ui/dlg/Navigator.cxx index f89a4459e92d..9b8864f79fc7 100644 --- a/reportdesign/source/ui/dlg/Navigator.cxx +++ b/reportdesign/source/ui/dlg/Navigator.cxx @@ -128,6 +128,7 @@ class NavigatorTree : public ::cppu::BaseMutex inline uno::Reference< uno::XInterface > getContent() const { return m_xContent; } inline void setContent(const uno::Reference< uno::XInterface >& _xContent) { m_xContent = _xContent; } + protected: // OPropertyChangeListener virtual void _propertyChanged(const beans::PropertyChangeEvent& _rEvent) throw( uno::RuntimeException) SAL_OVERRIDE; @@ -205,6 +206,8 @@ public: SvTreeListEntry* find(const uno::Reference< uno::XInterface >& _xContent); void removeEntry(SvTreeListEntry* _pEntry,bool _bRemove = true); + + virtual Size GetOptimalSize() const SAL_OVERRIDE; private: using SvTreeListBox::ExecuteDrop; }; @@ -220,6 +223,9 @@ NavigatorTree::NavigatorTree( Window* pParent,OReportController& _rController ) ,m_pDragedEntry(NULL) ,m_nTimerCounter( DROP_ACTION_TIMER_INITIAL_TICKS ) { + set_hexpand(true); + set_vexpand(true); + m_pReportListener = new OPropertyChangeMultiplexer(this,m_rController.getReportDefinition().get()); m_pReportListener->addProperty(PROPERTY_PAGEHEADERON); m_pReportListener->addProperty(PROPERTY_PAGEFOOTERON); @@ -861,13 +867,16 @@ void NavigatorTree::UserData::_disposing(const lang::EventObject& _rSource) m_pTree->_disposing( _rSource ); } -// class ONavigatorImpl +Size NavigatorTree::GetOptimalSize() const +{ + return LogicToPixel(Size(100, 70), MAP_APPFONT); +} +// class ONavigatorImpl class ONavigatorImpl: private boost::noncopyable { public: ONavigatorImpl(OReportController& _rController,ONavigator* _pParent); - virtual ~ONavigatorImpl(); uno::Reference< report::XReportDefinition> m_xReport; ::rptui::OReportController& m_rController; @@ -877,7 +886,7 @@ public: ONavigatorImpl::ONavigatorImpl(OReportController& _rController,ONavigator* _pParent) :m_xReport(_rController.getReportDefinition()) ,m_rController(_rController) - ,m_pNavigatorTree(new NavigatorTree(_pParent,_rController)) + ,m_pNavigatorTree(new NavigatorTree(_pParent->get<Window>("box"),_rController)) { reportdesign::OReportVisitor aVisitor(m_pNavigatorTree.get()); aVisitor.start(m_xReport); @@ -886,55 +895,17 @@ ONavigatorImpl::ONavigatorImpl(OReportController& _rController,ONavigator* _pPar m_pNavigatorTree->_selectionChanged(aEvent); } -ONavigatorImpl::~ONavigatorImpl() -{ -} - -const long STD_WIN_SIZE_X = 210; -const long STD_WIN_SIZE_Y = 280; -const long LISTBOX_BORDER = 2; - // class ONavigator - -ONavigator::ONavigator( Window* _pParent - ,OReportController& _rController) - : FloatingWindow( _pParent, ModuleRes(RID_NAVIGATOR) ) +ONavigator::ONavigator(Window* _pParent ,OReportController& _rController) + : FloatingWindow( _pParent, "FloatingNavigator", "modules/dbreport/ui/floatingnavigator.ui") { - m_pImpl.reset(new ONavigatorImpl(_rController,this)); - FreeResource(); m_pImpl->m_pNavigatorTree->Show(); m_pImpl->m_pNavigatorTree->GrabFocus(); - SetSizePixel(Size(STD_WIN_SIZE_X,STD_WIN_SIZE_Y)); Show(); - } - - -ONavigator::~ONavigator() -{ -} - -void ONavigator::Resize() -{ - FloatingWindow::Resize(); - - Size aSize( GetOutputSizePixel() ); - - - - // Groesse der form::ListBox anpassen - Point aLBPos( LISTBOX_BORDER, LISTBOX_BORDER ); - Size aLBSize( aSize ); - aLBSize.Width() -= (2*LISTBOX_BORDER); - aLBSize.Height() -= (2*LISTBOX_BORDER); - - m_pImpl->m_pNavigatorTree->SetPosSizePixel( aLBPos, aLBSize ); -} - - void ONavigator::GetFocus() { Window::GetFocus(); |