summaryrefslogtreecommitdiffstats
path: root/mmc_updater/depends/win32cpp/statusbar.h
diff options
context:
space:
mode:
Diffstat (limited to 'mmc_updater/depends/win32cpp/statusbar.h')
-rw-r--r--mmc_updater/depends/win32cpp/statusbar.h226
1 files changed, 0 insertions, 226 deletions
diff --git a/mmc_updater/depends/win32cpp/statusbar.h b/mmc_updater/depends/win32cpp/statusbar.h
deleted file mode 100644
index ad9a007b..00000000
--- a/mmc_updater/depends/win32cpp/statusbar.h
+++ /dev/null
@@ -1,226 +0,0 @@
-// Win32++ Version 7.2
-// Released: 5th AUgust 2011
-//
-// David Nash
-// email: dnash@bigpond.net.au
-// url: https://sourceforge.net/projects/win32-framework
-//
-//
-// Copyright (c) 2005-2011 David Nash
-//
-// Permission is hereby granted, free of charge, to
-// any person obtaining a copy of this software and
-// associated documentation files (the "Software"),
-// to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify,
-// merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom
-// the Software is furnished to do so, subject to the
-// following conditions:
-//
-// The above copyright notice and this permission notice
-// shall be included in all copies or substantial portions
-// of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
-// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
-// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
-// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
-// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR
-// ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
-// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
-// OR OTHER DEALINGS IN THE SOFTWARE.
-//
-////////////////////////////////////////////////////////
-
-
-#ifndef _WIN32XX_STATUSBAR_H_
-#define _WIN32XX_STATUSBAR_H_
-
-#include "wincore.h"
-
-namespace Win32xx
-{
-
- //////////////////////////////////////
- // Declaration of the CStatusBar class
- //
- class CStatusBar : public CWnd
- {
- public:
- CStatusBar();
- virtual ~CStatusBar() {}
-
- // Overridables
- virtual void PreCreate(CREATESTRUCT& cs);
- virtual void PreRegisterClass(WNDCLASS &wc);
-
- // Attributes
- int GetParts();
- HICON GetPartIcon(int iPart);
- CRect GetPartRect(int iPart);
- tString GetPartText(int iPart) const;
- BOOL IsSimple();
- BOOL SetPartIcon(int iPart, HICON hIcon);
- BOOL SetPartText(int iPart, LPCTSTR szText, UINT Style = 0) const;
- BOOL SetPartWidth(int iPart, int iWidth) const;
-
- // Operations
- CStatusBar(const CStatusBar&); // Disable copy construction
- CStatusBar& operator = (const CStatusBar&); // Disable assignment operator
-
- BOOL CreateParts(int iParts, const int iPaneWidths[]) const;
- void SetSimple(BOOL fSimple = TRUE);
- };
-
-}
-
-
-//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-
-namespace Win32xx
-{
-
- //////////////////////////////////////
- // Definitions for the CStatusBar class
- //
- inline CStatusBar::CStatusBar()
- {
- }
-
- inline BOOL CStatusBar::CreateParts(int iParts, const int iPaneWidths[]) const
- // Sets the number of parts in a status window and the coordinate of the right edge of each part.
- // If an element of iPaneWidths is -1, the right edge of the corresponding part extends
- // to the border of the window
- {
- assert(::IsWindow(m_hWnd));
- assert(iParts <= 256);
-
- return (BOOL)SendMessage(SB_SETPARTS, iParts, (LPARAM)iPaneWidths);
- }
-
- inline int CStatusBar::GetParts()
- {
- assert(::IsWindow(m_hWnd));
- return (int)SendMessage(SB_GETPARTS, 0L, 0L);
- }
-
- inline HICON CStatusBar::GetPartIcon(int iPart)
- {
- assert(::IsWindow(m_hWnd));
- return (HICON)SendMessage(SB_GETICON, (WPARAM)iPart, 0L);
- }
-
- inline CRect CStatusBar::GetPartRect(int iPart)
- {
- assert(::IsWindow(m_hWnd));
-
- CRect rc;
- SendMessage(SB_GETRECT, (WPARAM)iPart, (LPARAM)&rc);
- return rc;
- }
-
- inline tString CStatusBar::GetPartText(int iPart) const
- {
- assert(::IsWindow(m_hWnd));
- tString PaneText;
-
- // Get size of Text array
- int iChars = LOWORD (SendMessage(SB_GETTEXTLENGTH, iPart, 0L));
-
- std::vector<TCHAR> Text( iChars +1, _T('\0') );
- TCHAR* pTextArray = &Text[0];
-
- SendMessage(SB_GETTEXT, iPart, (LPARAM)pTextArray);
- PaneText = pTextArray;
- return PaneText;
- }
-
- inline BOOL CStatusBar::IsSimple()
- {
- assert(::IsWindow(m_hWnd));
- return (BOOL)SendMessage(SB_ISSIMPLE, 0L, 0L);
- }
-
- inline void CStatusBar::PreCreate(CREATESTRUCT &cs)
- {
- cs.style = WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | CCS_BOTTOM | SBARS_SIZEGRIP;
- }
-
- inline void CStatusBar::PreRegisterClass(WNDCLASS &wc)
- {
- // Set the Window Class
- wc.lpszClassName = STATUSCLASSNAME;
- }
-
- inline BOOL CStatusBar::SetPartText(int iPart, LPCTSTR szText, UINT Style) const
- // Available Styles: Combinations of ...
- //0 The text is drawn with a border to appear lower than the plane of the window.
- //SBT_NOBORDERS The text is drawn without borders.
- //SBT_OWNERDRAW The text is drawn by the parent window.
- //SBT_POPOUT The text is drawn with a border to appear higher than the plane of the window.
- //SBT_RTLREADING The text will be displayed in the opposite direction to the text in the parent window.
- {
- assert(::IsWindow(m_hWnd));
-
- BOOL bResult = FALSE;
- if (SendMessage(SB_GETPARTS, 0L, 0L) >= iPart)
- bResult = (BOOL)SendMessage(SB_SETTEXT, iPart | Style, (LPARAM)szText);
-
- return bResult;
- }
-
- inline BOOL CStatusBar::SetPartIcon(int iPart, HICON hIcon)
- {
- assert(::IsWindow(m_hWnd));
- return (BOOL)SendMessage(SB_SETICON, (WPARAM)iPart, (LPARAM) hIcon);
- }
-
- inline BOOL CStatusBar::SetPartWidth(int iPart, int iWidth) const
- {
- // This changes the width of an existing pane, or creates a new pane
- // with the specified width.
- // A width of -1 for the last part sets the width to the border of the window.
-
- assert(::IsWindow(m_hWnd));
- assert(iPart >= 0 && iPart <= 255);
-
- // Fill the PartWidths vector with the current width of the statusbar parts
- int PartsCount = (int)SendMessage(SB_GETPARTS, 0L, 0L);
- std::vector<int> PartWidths(PartsCount, 0);
- int* pPartWidthArray = &PartWidths[0];
- SendMessage(SB_GETPARTS, PartsCount, (LPARAM)pPartWidthArray);
-
- // Fill the NewPartWidths vector with the new width of the statusbar parts
- int NewPartsCount = MAX(iPart+1, PartsCount);
- std::vector<int> NewPartWidths(NewPartsCount, 0);;
- NewPartWidths = PartWidths;
- int* pNewPartWidthArray = &NewPartWidths[0];
-
- if (0 == iPart)
- pNewPartWidthArray[iPart] = iWidth;
- else
- {
- if (iWidth >= 0)
- pNewPartWidthArray[iPart] = pNewPartWidthArray[iPart -1] + iWidth;
- else
- pNewPartWidthArray[iPart] = -1;
- }
-
- // Set the statusbar parts with our new parts count and part widths
- BOOL bResult = (BOOL)SendMessage(SB_SETPARTS, NewPartsCount, (LPARAM)pNewPartWidthArray);
-
- return bResult;
- }
-
- inline void CStatusBar::SetSimple(BOOL fSimple /* = TRUE*/)
- {
- assert(::IsWindow(m_hWnd));
- SendMessage(SB_SIMPLE, (WPARAM)fSimple, 0L);
- }
-
-} // namespace Win32xx
-
-#endif // #ifndef _WIN32XX_STATUSBAR_H_