summaryrefslogtreecommitdiff
path: root/basctl
diff options
context:
space:
mode:
authorUray M. János <uray.janos@gmail.com>2012-07-23 18:48:47 +0200
committerIvan Timofeev <timofeev.i.s@gmail.com>2012-07-24 10:56:50 +0400
commit80bab179b259de2d963384444b7eac4579dea06d (patch)
tree750b773260f1bddb39f860db9fe435b697cee282 /basctl
parentdf9fde31acef806aca20e5559abe1bb52337e65f (diff)
fdo#52223 fix Object Catalog in Basic IDE when resizing
Change-Id: I96861bfcf7c0da6dd94c50acd673dedb14d15204 (cherry picked from commit c55a4639d27957ee96c59269d894d169fa2b7b34) Signed-off-by: Ivan Timofeev <timofeev.i.s@gmail.com>
Diffstat (limited to 'basctl')
-rw-r--r--basctl/source/basicide/baside2.cxx28
-rw-r--r--basctl/source/basicide/baside2.hxx2
-rw-r--r--basctl/source/basicide/basides1.cxx23
-rw-r--r--basctl/source/basicide/basidesh.cxx2
-rw-r--r--basctl/source/inc/basidesh.hxx2
5 files changed, 27 insertions, 30 deletions
diff --git a/basctl/source/basicide/baside2.cxx b/basctl/source/basicide/baside2.cxx
index a397e494c2b3..40fc6353718e 100644
--- a/basctl/source/basicide/baside2.cxx
+++ b/basctl/source/basicide/baside2.cxx
@@ -1511,14 +1511,14 @@ void ModulWindowLayout::ArrangeWindows()
if ( ( nVSplitPos < nMinPos ) || ( nVSplitPos > nMaxPos ) )
nVSplitPos = ( nVSplitPos < nMinPos ) ? 0 : ( aSz.Height() - SPLIT_HEIGHT );
- Size aXEWSz;
- aXEWSz.Width() = aSz.Width() - OBJCAT_PANE_WIDTH;
-
- aXEWSz.Height() = nVSplitPos + 1;
if ( m_pModulWindow )
{
DBG_CHKOBJ( m_pModulWindow, ModulWindow, 0 );
- m_pModulWindow->SetPosSizePixel( Point( OBJCAT_PANE_WIDTH, 0 ), aXEWSz );
+ bool const bObjCat = aObjectCatalog.IsVisible();
+ m_pModulWindow->SetPosSizePixel(
+ Point(bObjCat ? OBJCAT_PANE_WIDTH : 0, 0),
+ Size(bObjCat ? aSz.Width() - OBJCAT_PANE_WIDTH : aSz.Width(), nVSplitPos + 1)
+ );
}
aVSplitter.SetDragRectPixel( Rectangle( Point( 0, 0 ), Size( aSz.Width(), aSz.Height() ) ) );
@@ -1543,10 +1543,12 @@ void ModulWindowLayout::ArrangeWindows()
if ( !aStackWindow.IsFloatingMode() )
aStackWindow.SetPosSizePixel( aSWPos, aSWSz );
- Size aOCSz( OBJCAT_PANE_WIDTH, aSz.Height() - aSWSz.Height() - 3 );
- Point aOCPos( 0, 0 );
if ( !aObjectCatalog.IsFloatingMode() )
+ {
+ Size aOCSz( OBJCAT_PANE_WIDTH, aSz.Height() - aSWSz.Height() - 3 );
+ Point aOCPos( 0, 0 );
aObjectCatalog.SetPosSizePixel( aOCPos, aOCSz );
+ }
if ( aStackWindow.IsFloatingMode() && aWatchWindow.IsFloatingMode() )
aHSplitter.Hide();
@@ -1736,4 +1738,16 @@ Image ModulWindowLayout::getImage(sal_uInt16 nId) const
return m_aImagesNormal.GetImage(nId);
}
+// shows or hides the Object Catalog window (depending on its state)
+void ModulWindowLayout::ToggleObjectCatalog ()
+{
+ // show or hide?
+ bool const bShow = !aObjectCatalog.IsVisible();
+ bShow ? aObjectCatalog.Show() : aObjectCatalog.Hide();
+ if (m_pModulWindow)
+ m_pModulWindow->SetObjectCatalogDisplay(bShow);
+ // refreshing
+ ArrangeWindows();
+}
+
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/basctl/source/basicide/baside2.hxx b/basctl/source/basicide/baside2.hxx
index bae473056cbd..a8410577f015 100644
--- a/basctl/source/basicide/baside2.hxx
+++ b/basctl/source/basicide/baside2.hxx
@@ -486,6 +486,8 @@ public:
inline Color const & getSyntaxColor(TokenTypes eType) const
{ return m_aSyntaxColors[eType]; }
+
+ void ToggleObjectCatalog ();
};
#endif // _BASIDE2_HXX
diff --git a/basctl/source/basicide/basides1.cxx b/basctl/source/basicide/basides1.cxx
index 24c7884a7535..69d773c7c8c1 100644
--- a/basctl/source/basicide/basides1.cxx
+++ b/basctl/source/basicide/basides1.cxx
@@ -443,26 +443,11 @@ void BasicIDEShell::ExecuteGlobal( SfxRequest& rReq )
pWin->EditMacro( rInfo.GetMethod() );
}
break;
+
case SID_BASICIDE_OBJCAT:
- {
- if ( bObjectCatalogDisplay )
- {
- pModulLayout->GetObjectCatalog().Hide();
- dynamic_cast<ModulWindow*>(pCurWin)->SetPosPixel( Point( 0, 0 ) );
- dynamic_cast<ModulWindow*>(pCurWin)->SetSizePixel( Size( pCurWin->GetSizePixel().Width() + OBJCAT_PANE_WIDTH, pCurWin->GetSizePixel().Height() ) );
- dynamic_cast<ModulWindow*>(pCurWin)->SetObjectCatalogDisplay( false );
- bObjectCatalogDisplay = sal_False;
- }
- else
- {
- pModulLayout->GetObjectCatalog().Show();
- dynamic_cast<ModulWindow*>(pCurWin)->SetPosPixel( Point( OBJCAT_PANE_WIDTH, 0 ) );
- dynamic_cast<ModulWindow*>(pCurWin)->SetSizePixel( Size( pCurWin->GetSizePixel().Width() - OBJCAT_PANE_WIDTH, pCurWin->GetSizePixel().Height() ) );
- dynamic_cast<ModulWindow*>(pCurWin)->SetObjectCatalogDisplay( true );
- bObjectCatalogDisplay = sal_True;
- }
- }
- break;
+ pModulLayout->ToggleObjectCatalog();
+ break;
+
case SID_BASICIDE_NAMECHANGEDONTAB:
{
DBG_ASSERT( rReq.GetArgs(), "arguments expected" );
diff --git a/basctl/source/basicide/basidesh.cxx b/basctl/source/basicide/basidesh.cxx
index 3c00def9ab84..d2ced7eaf6fa 100644
--- a/basctl/source/basicide/basidesh.cxx
+++ b/basctl/source/basicide/basidesh.cxx
@@ -202,8 +202,6 @@ void BasicIDEShell::Init()
pObjectCatalog = 0;
bCreatingWindow = sal_False;
- bObjectCatalogDisplay = sal_True;
-
pTabBar = new BasicIDETabBar( &GetViewFrame()->GetWindow() );
pTabBar->SetSplitHdl( LINK( this, BasicIDEShell, TabBarSplitHdl ) );
bTabBarSplitted = sal_False;
diff --git a/basctl/source/inc/basidesh.hxx b/basctl/source/inc/basidesh.hxx
index 6b56b439b15e..8ed9701005e0 100644
--- a/basctl/source/inc/basidesh.hxx
+++ b/basctl/source/inc/basidesh.hxx
@@ -100,8 +100,6 @@ friend class LocalizationMgr;
friend class ContainerListenerImpl;
::com::sun::star::uno::Reference< ::com::sun::star::container::XContainerListener > m_xLibListener;
- sal_Bool bObjectCatalogDisplay;
-
#if _SOLAR__PRIVATE
void Init();
void InitTabBar();