diff options
author | Vladimir Glazounov <vg@openoffice.org> | 2007-04-11 17:12:40 +0000 |
---|---|---|
committer | Vladimir Glazounov <vg@openoffice.org> | 2007-04-11 17:12:40 +0000 |
commit | 5b931ba705e6d5b54c143898a4cd842caf353a28 (patch) | |
tree | c184aae7425cd5846dfad0686aec31c2e93de915 /vcl/inc | |
parent | 0ac71f9f9b89b94513b7eec50d81991c8940016b (diff) |
INTEGRATION: CWS hedaburemove01 (1.1.2); FILE ADDED
2007/02/09 16:11:13 vg 1.1.2.1: #72503# get rid of hedabu procedure: Moving headers to vcl/inc/vcl and correspondent necessary changes
Diffstat (limited to 'vcl/inc')
-rw-r--r-- | vcl/inc/vcl/status.hxx | 237 | ||||
-rw-r--r-- | vcl/inc/vcl/stdtext.hxx | 68 | ||||
-rw-r--r-- | vcl/inc/vcl/sv.h | 43 |
3 files changed, 348 insertions, 0 deletions
diff --git a/vcl/inc/vcl/status.hxx b/vcl/inc/vcl/status.hxx new file mode 100644 index 000000000000..8142282f6ec0 --- /dev/null +++ b/vcl/inc/vcl/status.hxx @@ -0,0 +1,237 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: status.hxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: vg $ $Date: 2007-04-11 18:12:20 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#ifndef _SV_STATUS_HXX +#define _SV_STATUS_HXX + +#ifndef _SV_SV_H +#include <vcl/sv.h> +#endif +#ifndef _VCL_DLLAPI_H +#include <vcl/dllapi.h> +#endif +#ifndef _SV_WINDOW_HXX +#include <vcl/window.hxx> +#endif + +class ImplStatusItemList; + +// -------------------- +// - Progress-Ausgabe - +// -------------------- + +void VCL_DLLPUBLIC DrawProgress( Window* pWindow, const Point& rPos, + long nOffset, long nPrgsWidth, long nPrgsHeight, + USHORT nPercent1, USHORT nPercent2, USHORT nPercentCount ); + +// --------------------- +// - StatusBarItemBits - +// --------------------- + +typedef USHORT StatusBarItemBits; + +// ---------------------------- +// - Bits fuer StatusBarItems - +// ---------------------------- + +#define SIB_LEFT ((StatusBarItemBits)0x0001) +#define SIB_CENTER ((StatusBarItemBits)0x0002) +#define SIB_RIGHT ((StatusBarItemBits)0x0004) +#define SIB_IN ((StatusBarItemBits)0x0008) +#define SIB_OUT ((StatusBarItemBits)0x0010) +#define SIB_FLAT ((StatusBarItemBits)0x0020) +#define SIB_AUTOSIZE ((StatusBarItemBits)0x0040) +#define SIB_USERDRAW ((StatusBarItemBits)0x0080) + +// ------------------- +// - StatusBar-Types - +// ------------------- + +#define STATUSBAR_APPEND ((USHORT)0xFFFF) +#define STATUSBAR_ITEM_NOTFOUND ((USHORT)0xFFFF) +#define STATUSBAR_OFFSET ((long)5) + +// ------------- +// - StatusBar - +// ------------- + +class VCL_DLLPUBLIC StatusBar : public Window +{ + class ImplData; +private: + ImplStatusItemList* mpItemList; + ImplData* mpImplData; + XubString maPrgsTxt; + Point maPrgsTxtPos; + Rectangle maPrgsFrameRect; + long mnPrgsSize; + long mnItemsWidth; + long mnDX; + long mnDY; + long mnCalcHeight; + long mnTextY; + long mnItemY; + USHORT mnCurItemId; + USHORT mnPercent; + USHORT mnPercentCount; + BOOL mbVisibleItems; + BOOL mbFormat; + BOOL mbProgressMode; + BOOL mbInUserDraw; + BOOL mbBottomBorder; + Link maClickHdl; + Link maDoubleClickHdl; + + using Window::ImplInit; + SAL_DLLPRIVATE void ImplInit( Window* pParent, WinBits nStyle ); + SAL_DLLPRIVATE void ImplInitSettings( BOOL bFont, BOOL bForeground, BOOL bBackground ); + SAL_DLLPRIVATE void ImplFormat(); + SAL_DLLPRIVATE BOOL ImplIsItemUpdate(); +// #if 0 // _SOLAR__PRIVATE + using OutputDevice::ImplDrawText; +// #endif + SAL_DLLPRIVATE void ImplDrawText( BOOL bOffScreen, long nOldTextWidth ); + SAL_DLLPRIVATE void ImplDrawItem( BOOL bOffScreen, USHORT nPos, BOOL bDrawText, BOOL bDrawFrame ); + SAL_DLLPRIVATE void ImplDrawProgress( BOOL bPaint, + USHORT nOldPerc, USHORT nNewPerc ); + SAL_DLLPRIVATE void ImplCalcProgressRect(); + SAL_DLLPRIVATE Rectangle ImplGetItemRectPos( USHORT nPos ) const; + SAL_DLLPRIVATE void ImplCalcBorder(); + +public: + StatusBar( Window* pParent, + WinBits nWinStyle = WB_BORDER | WB_RIGHT ); + StatusBar( Window* pParent, const ResId& rResId ); + ~StatusBar(); + + virtual void MouseButtonDown( const MouseEvent& rMEvt ); + virtual void Paint( const Rectangle& rRect ); + virtual void Move(); + virtual void Resize(); + virtual void RequestHelp( const HelpEvent& rHEvt ); + virtual void StateChanged( StateChangedType nType ); + virtual void DataChanged( const DataChangedEvent& rDCEvt ); + + virtual void Click(); + virtual void DoubleClick(); + virtual void UserDraw( const UserDrawEvent& rUDEvt ); + + void InsertItem( USHORT nItemId, ULONG nWidth, + StatusBarItemBits nBits = SIB_CENTER | SIB_IN, + long nOffset = STATUSBAR_OFFSET, + USHORT nPos = STATUSBAR_APPEND ); + void RemoveItem( USHORT nItemId ); + + void ShowItem( USHORT nItemId ); + void HideItem( USHORT nItemId ); + BOOL IsItemVisible( USHORT nItemId ) const; + + void ShowItems(); + void HideItems(); + BOOL AreItemsVisible() const { return mbVisibleItems; } + + void CopyItems( const StatusBar& rStatusBar ); + void Clear(); + + USHORT GetItemCount() const; + USHORT GetItemId( USHORT nPos ) const; + USHORT GetItemId( const Point& rPos ) const; + USHORT GetItemPos( USHORT nItemId ) const; + Rectangle GetItemRect( USHORT nItemId ) const; + Point GetItemTextPos( USHORT nItemId ) const; + USHORT GetCurItemId() const { return mnCurItemId; } + + ULONG GetItemWidth( USHORT nItemId ) const; + StatusBarItemBits GetItemBits( USHORT nItemId ) const; + long GetItemOffset( USHORT nItemId ) const; + + void SetItemText( USHORT nItemId, const XubString& rText ); + const XubString& GetItemText( USHORT nItemId ) const; + + void SetItemData( USHORT nItemId, void* pNewData ); + void* GetItemData( USHORT nItemId ) const; + + void SetItemCommand( USHORT nItemId, const XubString& rCommand ); + const XubString& GetItemCommand( USHORT nItemId ); + + void SetHelpText( USHORT nItemId, const XubString& rText ); + const XubString& GetHelpText( USHORT nItemId ) const; + + using Window::SetQuickHelpText; + void SetQuickHelpText( USHORT nItemId, const XubString& rText ); + using Window::GetQuickHelpText; + const XubString& GetQuickHelpText( USHORT nItemId ) const; + + void SetHelpId( USHORT nItemId, ULONG nHelpId ); + ULONG GetHelpId( USHORT nItemId ) const; + + void SetBottomBorder( BOOL bBottomBorder = TRUE ); + BOOL IsBottomBorder() const { return mbBottomBorder; } + + void SetTopBorder( BOOL bTopBorder = TRUE ); + BOOL IsTopBorder() const; + + void StartProgressMode( const XubString& rText ); + void SetProgressValue( USHORT nPercent ); + void EndProgressMode(); + BOOL IsProgressMode() const { return mbProgressMode; } + void ResetProgressMode(); + + void SetText( const XubString& rText ); + + void SetHelpText( const XubString& rText ) + { Window::SetHelpText( rText ); } + const XubString& GetHelpText() const + { return Window::GetHelpText(); } + + void SetHelpId( ULONG nId ) + { Window::SetHelpId( nId ); } + ULONG GetHelpId() const + { return Window::GetHelpId(); } + + Size CalcWindowSizePixel() const; + + void SetClickHdl( const Link& rLink ) { maClickHdl = rLink; } + const Link& GetClickHdl() const { return maClickHdl; } + void SetDoubleClickHdl( const Link& rLink ) { maDoubleClickHdl = rLink; } + const Link& GetDoubleClickHdl() const { return maDoubleClickHdl; } + + using Window::SetAccessibleName; + void SetAccessibleName( USHORT nItemId, const XubString& rName ); + using Window::GetAccessibleName; + const XubString& GetAccessibleName( USHORT nItemId ) const; +}; + +#endif // _SV_STATUS_HXX diff --git a/vcl/inc/vcl/stdtext.hxx b/vcl/inc/vcl/stdtext.hxx new file mode 100644 index 000000000000..91fc1d384881 --- /dev/null +++ b/vcl/inc/vcl/stdtext.hxx @@ -0,0 +1,68 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: stdtext.hxx,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: vg $ $Date: 2007-04-11 18:12:30 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#ifndef _VCL_STDTEXT_HXX +#define _VCL_STDTEXT_HXX + +#ifndef _STRING_HXX +#include <tools/string.hxx> +#endif +#ifndef _SV_SV_H +#include <vcl/sv.h> +#endif + +#ifndef _VCL_DLLAPI_H +#include <vcl/dllapi.h> +#endif + +class Window; + +// ------------------ +// - Standard-Texte - +// ------------------ + +#define STANDARD_TEXT_FIRST STANDARD_TEXT_SERVICE_NOT_AVAILABLE +#define STANDARD_TEXT_SERVICE_NOT_AVAILABLE ((USHORT)0) +#define STANDARD_TEXT_LAST STANDARD_TEXT_SERVICE_NOT_AVAILABLE + +XubString VCL_DLLPUBLIC GetStandardText( USHORT nStdText ); + +// ------------------------------------- +// - Hilfsmethoden fuer Standard-Texte - +// ------------------------------------- + +void VCL_DLLPUBLIC ShowServiceNotAvailableError( Window* pParent, const XubString& rServiceName, BOOL bError ); + +#endif // _VCL_STDTEXT_HXX diff --git a/vcl/inc/vcl/sv.h b/vcl/inc/vcl/sv.h new file mode 100644 index 000000000000..e22730c96d19 --- /dev/null +++ b/vcl/inc/vcl/sv.h @@ -0,0 +1,43 @@ +/************************************************************************* + * + * OpenOffice.org - a multi-platform office productivity suite + * + * $RCSfile: sv.h,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: vg $ $Date: 2007-04-11 18:12:40 $ + * + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. + * + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + ************************************************************************/ + +#ifndef _SV_SV_H +#define _SV_SV_H + +#ifndef _SOLAR_H +#include <tools/solar.h> +#endif + +#endif // _SV_SV_H |