summaryrefslogtreecommitdiffstats
path: root/vcl/source/window/syswin.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'vcl/source/window/syswin.cxx')
-rw-r--r--vcl/source/window/syswin.cxx169
1 files changed, 62 insertions, 107 deletions
diff --git a/vcl/source/window/syswin.cxx b/vcl/source/window/syswin.cxx
index f6c7e422cc3b..77cfb7044740 100644
--- a/vcl/source/window/syswin.cxx
+++ b/vcl/source/window/syswin.cxx
@@ -39,6 +39,8 @@
#include <vcl/taskpanelist.hxx>
#include <vcl/unowrap.hxx>
+#include <rtl/strbuf.hxx>
+
#include <salframe.hxx>
#include <svdata.hxx>
#include <brdwin.hxx>
@@ -242,36 +244,6 @@ void SystemWindow::Resizing( Size& )
// -----------------------------------------------------------------------
-void SystemWindow::SetZLevel( sal_uInt8 nLevel )
-{
- Window* pWindow = this;
- while ( pWindow->mpWindowImpl->mpBorderWindow )
- pWindow = pWindow->mpWindowImpl->mpBorderWindow;
- if ( pWindow->mpWindowImpl->mbOverlapWin && !pWindow->mpWindowImpl->mbFrame )
- {
- sal_uInt8 nOldLevel = pWindow->mpWindowImpl->mpOverlapData->mnTopLevel;
- pWindow->mpWindowImpl->mpOverlapData->mnTopLevel = nLevel;
- // Wenn der neue Level groesser als der alte ist, schieben
- // wir das Fenster nach hinten
- if ( !IsReallyVisible() && (nLevel > nOldLevel) && pWindow->mpWindowImpl->mpNext )
- {
- // Fenster aus der Liste entfernen
- if ( pWindow->mpWindowImpl->mpPrev )
- pWindow->mpWindowImpl->mpPrev->mpWindowImpl->mpNext = pWindow->mpWindowImpl->mpNext;
- else
- pWindow->mpWindowImpl->mpOverlapWindow->mpWindowImpl->mpFirstOverlap = pWindow->mpWindowImpl->mpNext;
- pWindow->mpWindowImpl->mpNext->mpWindowImpl->mpPrev = pWindow->mpWindowImpl->mpPrev;
- pWindow->mpWindowImpl->mpNext = NULL;
- // und Fenster wieder in die Liste am Ende eintragen
- pWindow->mpWindowImpl->mpPrev = pWindow->mpWindowImpl->mpOverlapWindow->mpWindowImpl->mpLastOverlap;
- pWindow->mpWindowImpl->mpOverlapWindow->mpWindowImpl->mpLastOverlap = pWindow;
- pWindow->mpWindowImpl->mpPrev->mpWindowImpl->mpNext = pWindow;
- }
- }
-}
-
-// -----------------------------------------------------------------------
-
void SystemWindow::SetRepresentedURL( const rtl::OUString& i_rURL )
{
bool bChanged = (i_rURL != mpImplData->maRepresentedURL);
@@ -286,12 +258,6 @@ void SystemWindow::SetRepresentedURL( const rtl::OUString& i_rURL )
pWindow->mpWindowImpl->mpFrame->SetRepresentedURL( i_rURL );
}
}
-// -----------------------------------------------------------------------
-
-const rtl::OUString& SystemWindow::GetRepresentedURL() const
-{
- return mpImplData->maRepresentedURL;
-}
// -----------------------------------------------------------------------
@@ -315,19 +281,6 @@ void SystemWindow::SetIcon( sal_uInt16 nIcon )
// -----------------------------------------------------------------------
-sal_uInt8 SystemWindow::GetZLevel() const
-{
- const Window* pWindow = this;
- while ( pWindow->mpWindowImpl->mpBorderWindow )
- pWindow = pWindow->mpWindowImpl->mpBorderWindow;
- if ( pWindow->mpWindowImpl->mpOverlapData )
- return pWindow->mpWindowImpl->mpOverlapData->mnTopLevel;
- else
- return sal_False;
-}
-
-// -----------------------------------------------------------------------
-
void SystemWindow::EnableSaveBackground( sal_Bool bSave )
{
if( ImplGetSVData()->maWinData.mbNoSaveBackground )
@@ -498,16 +451,17 @@ Size SystemWindow::GetResizeOutputSizePixel() const
// -----------------------------------------------------------------------
-static void ImplWindowStateFromStr( WindowStateData& rData, const ByteString& rStr )
+static void ImplWindowStateFromStr(WindowStateData& rData,
+ const rtl::OString& rStr)
{
sal_uLong nValidMask = 0;
- xub_StrLen nIndex = 0;
- ByteString aTokenStr;
+ sal_Int32 nIndex = 0;
+ rtl::OString aTokenStr;
- aTokenStr = rStr.GetToken( 0, ',', nIndex );
- if ( aTokenStr.Len() )
+ aTokenStr = rStr.getToken(0, ',', nIndex);
+ if (!aTokenStr.isEmpty())
{
- rData.SetX( aTokenStr.ToInt32() );
+ rData.SetX(aTokenStr.toInt32());
if( rData.GetX() > -16384 && rData.GetX() < 16384 )
nValidMask |= WINDOWSTATE_MASK_X;
else
@@ -515,10 +469,10 @@ static void ImplWindowStateFromStr( WindowStateData& rData, const ByteString& rS
}
else
rData.SetX( 0 );
- aTokenStr = rStr.GetToken( 0, ',', nIndex );
- if ( aTokenStr.Len() )
+ aTokenStr = rStr.getToken(0, ',', nIndex);
+ if (!aTokenStr.isEmpty())
{
- rData.SetY( aTokenStr.ToInt32() );
+ rData.SetY(aTokenStr.toInt32());
if( rData.GetY() > -16384 && rData.GetY() < 16384 )
nValidMask |= WINDOWSTATE_MASK_Y;
else
@@ -526,10 +480,10 @@ static void ImplWindowStateFromStr( WindowStateData& rData, const ByteString& rS
}
else
rData.SetY( 0 );
- aTokenStr = rStr.GetToken( 0, ',', nIndex );
- if ( aTokenStr.Len() )
+ aTokenStr = rStr.getToken(0, ',', nIndex);
+ if (!aTokenStr.isEmpty())
{
- rData.SetWidth( aTokenStr.ToInt32() );
+ rData.SetWidth(aTokenStr.toInt32());
if( rData.GetWidth() > 0 && rData.GetWidth() < 16384 )
nValidMask |= WINDOWSTATE_MASK_WIDTH;
else
@@ -537,10 +491,10 @@ static void ImplWindowStateFromStr( WindowStateData& rData, const ByteString& rS
}
else
rData.SetWidth( 0 );
- aTokenStr = rStr.GetToken( 0, ';', nIndex );
- if ( aTokenStr.Len() )
+ aTokenStr = rStr.getToken(0, ';', nIndex);
+ if (!aTokenStr.isEmpty())
{
- rData.SetHeight( aTokenStr.ToInt32() );
+ rData.SetHeight(aTokenStr.toInt32());
if( rData.GetHeight() > 0 && rData.GetHeight() < 16384 )
nValidMask |= WINDOWSTATE_MASK_HEIGHT;
else
@@ -548,12 +502,12 @@ static void ImplWindowStateFromStr( WindowStateData& rData, const ByteString& rS
}
else
rData.SetHeight( 0 );
- aTokenStr = rStr.GetToken( 0, ';', nIndex );
- if ( aTokenStr.Len() )
+ aTokenStr = rStr.getToken(0, ';', nIndex);
+ if (!aTokenStr.isEmpty())
{
// #94144# allow Minimize again, should be masked out when read from configuration
// 91625 - ignore Minimize
- sal_uLong nState = (sal_uLong)aTokenStr.ToInt32();
+ sal_uInt32 nState = (sal_uInt32)aTokenStr.toInt32();
//nState &= ~(WINDOWSTATE_STATE_MINIMIZED);
rData.SetState( nState );
nValidMask |= WINDOWSTATE_MASK_STATE;
@@ -562,10 +516,10 @@ static void ImplWindowStateFromStr( WindowStateData& rData, const ByteString& rS
rData.SetState( 0 );
// read maximized pos/size
- aTokenStr = rStr.GetToken( 0, ',', nIndex );
- if ( aTokenStr.Len() )
+ aTokenStr = rStr.getToken(0, ',', nIndex);
+ if (!aTokenStr.isEmpty())
{
- rData.SetMaximizedX( aTokenStr.ToInt32() );
+ rData.SetMaximizedX(aTokenStr.toInt32());
if( rData.GetMaximizedX() > -16384 && rData.GetMaximizedX() < 16384 )
nValidMask |= WINDOWSTATE_MASK_MAXIMIZED_X;
else
@@ -573,10 +527,10 @@ static void ImplWindowStateFromStr( WindowStateData& rData, const ByteString& rS
}
else
rData.SetMaximizedX( 0 );
- aTokenStr = rStr.GetToken( 0, ',', nIndex );
- if ( aTokenStr.Len() )
+ aTokenStr = rStr.getToken(0, ',', nIndex);
+ if (!aTokenStr.isEmpty())
{
- rData.SetMaximizedY( aTokenStr.ToInt32() );
+ rData.SetMaximizedY(aTokenStr.toInt32());
if( rData.GetMaximizedY() > -16384 && rData.GetMaximizedY() < 16384 )
nValidMask |= WINDOWSTATE_MASK_MAXIMIZED_Y;
else
@@ -584,10 +538,10 @@ static void ImplWindowStateFromStr( WindowStateData& rData, const ByteString& rS
}
else
rData.SetMaximizedY( 0 );
- aTokenStr = rStr.GetToken( 0, ',', nIndex );
- if ( aTokenStr.Len() )
+ aTokenStr = rStr.getToken(0, ',', nIndex);
+ if (!aTokenStr.isEmpty())
{
- rData.SetMaximizedWidth( aTokenStr.ToInt32() );
+ rData.SetMaximizedWidth(aTokenStr.toInt32());
if( rData.GetMaximizedWidth() > 0 && rData.GetMaximizedWidth() < 16384 )
nValidMask |= WINDOWSTATE_MASK_MAXIMIZED_WIDTH;
else
@@ -595,10 +549,10 @@ static void ImplWindowStateFromStr( WindowStateData& rData, const ByteString& rS
}
else
rData.SetMaximizedWidth( 0 );
- aTokenStr = rStr.GetToken( 0, ';', nIndex );
- if ( aTokenStr.Len() )
+ aTokenStr = rStr.getToken(0, ';', nIndex);
+ if (!aTokenStr.isEmpty())
{
- rData.SetMaximizedHeight( aTokenStr.ToInt32() );
+ rData.SetMaximizedHeight(aTokenStr.toInt32());
if( rData.GetMaximizedHeight() > 0 && rData.GetMaximizedHeight() < 16384 )
nValidMask |= WINDOWSTATE_MASK_MAXIMIZED_HEIGHT;
else
@@ -613,45 +567,48 @@ static void ImplWindowStateFromStr( WindowStateData& rData, const ByteString& rS
// -----------------------------------------------------------------------
-static void ImplWindowStateToStr( const WindowStateData& rData, ByteString& rStr )
+static rtl::OString ImplWindowStateToStr(const WindowStateData& rData)
{
sal_uLong nValidMask = rData.GetMask();
if ( !nValidMask )
- return;
+ return rtl::OString();
+
+ rtl::OStringBuffer rStrBuf;
if ( nValidMask & WINDOWSTATE_MASK_X )
- rStr.Append( ByteString::CreateFromInt32( rData.GetX() ) );
- rStr.Append( ',' );
+ rStrBuf.append(static_cast<sal_Int32>(rData.GetX()));
+ rStrBuf.append(',');
if ( nValidMask & WINDOWSTATE_MASK_Y )
- rStr.Append( ByteString::CreateFromInt32( rData.GetY() ) );
- rStr.Append( ',' );
+ rStrBuf.append(static_cast<sal_Int32>(rData.GetY()));
+ rStrBuf.append(',');
if ( nValidMask & WINDOWSTATE_MASK_WIDTH )
- rStr.Append( ByteString::CreateFromInt32( rData.GetWidth() ) );
- rStr.Append( ',' );
+ rStrBuf.append(static_cast<sal_Int32>(rData.GetWidth()));
+ rStrBuf.append(',');
if ( nValidMask & WINDOWSTATE_MASK_HEIGHT )
- rStr.Append( ByteString::CreateFromInt32( rData.GetHeight() ) );
- rStr.Append( ';' );
+ rStrBuf.append(static_cast<sal_Int32>(rData.GetHeight()));
+ rStrBuf.append( ';' );
if ( nValidMask & WINDOWSTATE_MASK_STATE )
{
// #94144# allow Minimize again, should be masked out when read from configuration
// 91625 - ignore Minimize
- sal_uLong nState = rData.GetState();
- //nState &= ~(WINDOWSTATE_STATE_MINIMIZED);
- rStr.Append( ByteString::CreateFromInt32( (long)nState ) );
+ sal_uInt32 nState = rData.GetState();
+ rStrBuf.append(static_cast<sal_Int32>(nState));
}
- rStr.Append( ';' );
+ rStrBuf.append(';');
if ( nValidMask & WINDOWSTATE_MASK_MAXIMIZED_X )
- rStr.Append( ByteString::CreateFromInt32( rData.GetMaximizedX() ) );
- rStr.Append( ',' );
+ rStrBuf.append(static_cast<sal_Int32>(rData.GetMaximizedX()));
+ rStrBuf.append(',');
if ( nValidMask & WINDOWSTATE_MASK_MAXIMIZED_Y )
- rStr.Append( ByteString::CreateFromInt32( rData.GetMaximizedY() ) );
- rStr.Append( ',' );
+ rStrBuf.append(static_cast<sal_Int32>(rData.GetMaximizedY()));
+ rStrBuf.append( ',' );
if ( nValidMask & WINDOWSTATE_MASK_MAXIMIZED_WIDTH )
- rStr.Append( ByteString::CreateFromInt32( rData.GetMaximizedWidth() ) );
- rStr.Append( ',' );
+ rStrBuf.append(static_cast<sal_Int32>(rData.GetMaximizedWidth()));
+ rStrBuf.append(',');
if ( nValidMask & WINDOWSTATE_MASK_MAXIMIZED_HEIGHT )
- rStr.Append( ByteString::CreateFromInt32( rData.GetMaximizedHeight() ) );
- rStr.Append( ';' );
+ rStrBuf.append(static_cast<sal_Int32>(rData.GetMaximizedHeight()));
+ rStrBuf.append(';');
+
+ return rStrBuf.makeStringAndClear();
}
// -----------------------------------------------------------------------
@@ -955,9 +912,9 @@ void SystemWindow::GetWindowStateData( WindowStateData& rData ) const
// -----------------------------------------------------------------------
-void SystemWindow::SetWindowState( const ByteString& rStr )
+void SystemWindow::SetWindowState(const rtl::OString& rStr)
{
- if ( !rStr.Len() )
+ if (rStr.isEmpty())
return;
WindowStateData aData;
@@ -967,15 +924,13 @@ void SystemWindow::SetWindowState( const ByteString& rStr )
// -----------------------------------------------------------------------
-ByteString SystemWindow::GetWindowState( sal_uLong nMask ) const
+rtl::OString SystemWindow::GetWindowState( sal_uLong nMask ) const
{
WindowStateData aData;
aData.SetMask( nMask );
GetWindowStateData( aData );
- ByteString aStr;
- ImplWindowStateToStr( aData, aStr );
- return aStr;
+ return ImplWindowStateToStr(aData);
}
// -----------------------------------------------------------------------