home *** CD-ROM | disk | FTP | other *** search
- /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
- *
- * The contents of this file are subject to the Netscape Public License
- * Version 1.0 (the "NPL"); you may not use this file except in
- * compliance with the NPL. You may obtain a copy of the NPL at
- * http://www.mozilla.org/NPL/
- *
- * Software distributed under the NPL is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
- * for the specific language governing rights and limitations under the
- * NPL.
- *
- * The Initial Developer of this code under the NPL is Netscape
- * Communications Corporation. Portions created by Netscape are
- * Copyright (C) 1998 Netscape Communications Corporation. All Rights
- * Reserved.
- */
- ///
- //
- // $Revision: 3.1 $
- //
- // TASKBAR.H
- //
- // DESCRIPTION:
- // This file contains the declarations of the various task bar related
- // classes.
- //
- // AUTHOR: Scott Jones
- //
- ///
-
-
- #if !defined(__TASKBAR_H__)
- #define __TASKBAR_H__
-
- #ifndef __AFXWIN_H__
- #error include 'stdafx.h' before including this file for PCH
- #endif
-
- #include "tlbutton.h"
-
- #define BROWSER_ICON_INDEX 0
- #define INBOX_ICON_INDEX 1
- #define UNKNOWN_MAIL_ICON_INDEX 2
- #define NEW_MAIL_ICON_INDEX 3
- #define NEWS_ICON_INDEX 4
- #define COMPOSE_ICON_INDEX 5
-
- /****************************************************************************
- *
- * Class: CTaskBarButtonDropTarget
- *
- * DESCRIPTION:
- *
- * Some taskbar buttons may want to be drop targets. So here's the class.
- *
- ****************************************************************************/
-
- #define CTaskBarButtonDropTargetBase CToolbarButtonDropTarget
-
- class CTaskBarButtonDropTarget : public CTaskBarButtonDropTargetBase
- {
- public:
- CTaskBarButtonDropTarget(){m_pButton = NULL;}
- protected:
- virtual DROPEFFECT ProcessDragEnter(CWnd *pWnd, COleDataObject *pDataObject,
- DWORD dwKeyState, CPoint point);
- virtual DROPEFFECT ProcessDragOver(CWnd *pWnd, COleDataObject *pDataObject,
- DWORD dwKeyState, CPoint point);
- virtual BOOL ProcessDrop(CWnd *pWnd, COleDataObject *pDataObject,
- DROPEFFECT dropEffect, CPoint point) = 0;
-
- };
-
- #define CBrowserButtonDropTargetBase CTaskBarButtonDropTarget
-
- class CBrowserButtonDropTarget : public CBrowserButtonDropTargetBase
- {
- public:
- CBrowserButtonDropTarget(){m_pButton = NULL;}
- protected:
- virtual BOOL ProcessDrop(CWnd *pWnd, COleDataObject *pDataObject,
- DROPEFFECT dropEffect, CPoint point);
-
- };
-
- #define CComposerButtonDropTargetBase CTaskBarButtonDropTarget
-
- class CComposerButtonDropTarget : public CComposerButtonDropTargetBase
- {
- public:
- CComposerButtonDropTarget(){m_pButton = NULL;}
- protected:
- virtual DROPEFFECT ProcessDragEnter(CWnd *pWnd, COleDataObject *pDataObject,
- DWORD dwKeyState, CPoint point);
- virtual DROPEFFECT ProcessDragOver(CWnd *pWnd, COleDataObject *pDataObject,
- DWORD dwKeyState, CPoint point);
- virtual BOOL ProcessDrop(CWnd *pWnd, COleDataObject *pDataObject,
- DROPEFFECT dropEffect, CPoint point);
-
- };
-
- #define CMessengerButtonDropTargetBase CTaskBarButtonDropTarget
-
- class CMessengerButtonDropTarget : public CMessengerButtonDropTargetBase
- {
- public:
- CMessengerButtonDropTarget(){m_pButton = NULL;}
- protected:
- virtual DROPEFFECT ProcessDragEnter(CWnd *pWnd, COleDataObject *pDataObject,
- DWORD dwKeyState, CPoint point);
- virtual DROPEFFECT ProcessDragOver(CWnd *pWnd, COleDataObject *pDataObject,
- DWORD dwKeyState, CPoint point);
- virtual BOOL ProcessDrop(CWnd *pWnd, COleDataObject *pDataObject,
- DROPEFFECT dropEffect, CPoint point);
-
- };
-
- #define CCollabraButtonDropTargetBase CTaskBarButtonDropTarget
-
- class CCollabraButtonDropTarget : public CCollabraButtonDropTargetBase
- {
- public:
- CCollabraButtonDropTarget(){m_pButton = NULL;}
- protected:
- virtual DROPEFFECT ProcessDragEnter(CWnd *pWnd, COleDataObject *pDataObject,
- DWORD dwKeyState, CPoint point);
- virtual DROPEFFECT ProcessDragOver(CWnd *pWnd, COleDataObject *pDataObject,
- DWORD dwKeyState, CPoint point);
- virtual BOOL ProcessDrop(CWnd *pWnd, COleDataObject *pDataObject,
- DROPEFFECT dropEffect, CPoint point);
-
- };
-
- /****************************************************************************
- *
- * Class: CTaskIcon
- *
- * DESCRIPTION:
- * This class represents the abstraction of a task icon object. It
- * encapsulates the data that is used to construct CTaskIconWnd objects.
- *
- ****************************************************************************/
-
- #define CTaskIconBase CObject
-
- class CTaskIcon : public CTaskIconBase
- {
- public:
- CTaskIcon(UINT idTask, CWnd * pwndNotify, DWORD dwMessage,
- UINT idBmpLarge, int indexBmpLarge, UINT idBmpSmall,
- int indexBmpSmall, UINT idHorizText, UINT idVertText,
- UINT idDockedTip, UINT idFloatingTip);
- virtual ~CTaskIcon();
-
- const UINT GetTaskID() const
- {
- return(m_idTask);
- }
- CWnd * GetNotifyWnd() const
- {
- return(m_pwndNotify);
- }
- const DWORD GetNotifyMessage() const
- {
- return(m_dwMessage);
- }
- const UINT GetLargeBmpID() const
- {
- return(m_idBmpLarge);
- }
- const UINT GetSmallBmpID() const
- {
- return(m_idBmpSmall);
- }
- void SetLargeBmpID(UINT idBmp)
- {
- m_idBmpLarge = idBmp;
- }
- void SetSmallBmpID(UINT idBmp)
- {
- m_idBmpSmall = idBmp;
- }
-
- const int GetLargeBitmapIndex() const
- {
- return (m_indexBmpLarge);
- }
- const int GetSmallBitmapIndex() const
- {
- return(m_indexBmpSmall);
- }
- void SetLargeBitmapIndex(int indexBmp)
- {
- m_indexBmpLarge = indexBmp;
- }
- void SetSmallBitmapIndex(int indexBmp)
- {
- m_indexBmpSmall = indexBmp;
- }
-
- const UINT GetHorizTextID()
- {
- return m_idHorizText;
- }
-
- const UINT GetVertTextID()
- {
- return m_idVertText;
- }
-
- const UINT GetDockedTipID()
- {
- return m_idDockedTip;
- }
-
- const UINT GetFloatingTipID()
- {
- return m_idFloatingTip;
- }
-
- protected:
- CWnd * m_pwndNotify; // Notifications go to this window
- DWORD m_dwMessage; // Callback message
- UINT m_idTask; // Task identifier for this icon
- UINT m_idBmpLarge; // Bitmap resource ID for large icon
- UINT m_idBmpSmall; // Bitmap resource ID for small icon
- int m_indexBmpLarge; // index for large bitmap
- int m_indexBmpSmall; // index for small bitmap
- UINT m_idHorizText; // String resource ID of horizontal text
- UINT m_idVertText; // String resource ID of vertical text
- UINT m_idDockedTip; // String resource ID of docked tool tip text
- UINT m_idFloatingTip; // String resource ID of floating tool tip text
-
- private:
-
- }; // END OF CLASS CTaskIcon()
-
-
- /****************************************************************************
- *
- * Class: CTaskIconArray
- *
- * DESCRIPTION:
- * This is a container class for holding CTaskIcon objects.
- *
- ****************************************************************************/
-
- #define CTaskIconArrayBase CObArray
-
- class CTaskIconArray : public CTaskIconArrayBase
- {
- public:
- CTaskIconArray(){}
- ~CTaskIconArray()
- {
- DeleteAll();
- }
-
- int Add(CTaskIcon * pIcon)
- {
- return(CTaskIconArrayBase::Add(pIcon));
- }
- CTaskIcon * Get(int nIndex) const
- {
- return((CTaskIcon *)GetAt(nIndex));
- }
- int FindByID(UINT idTask);
- void DeleteAll();
-
- protected:
-
- private:
-
- }; // END OF CLASS CTaskIconArray()
-
-
- /****************************************************************************
- *
- * Class: CTaskIconWnd
- *
- * DESCRIPTION:
- * This object represents a notification icon. It can be embeded within
- * a task bar and provides mouse notifications to a given window. It is
- * a window that paints its own bitmap, displays tool tip text, processes
- * mouse events, etc.
- *
- ****************************************************************************/
-
- #define CTaskIconWndBase CStationaryToolbarButton
-
- class CTaskIconWnd : public CTaskIconWndBase
- {
- public:
- CTaskIconWnd();
-
- BOOL CTaskIconWnd::Create(UINT idTask, CWnd * pwndNotify, DWORD dwMessage,
- UINT idBmp, int nBitmapIndex, UINT idHorizText, UINT idVertText, UINT idText, UINT idTip, BOOL bNoviceMode,
- CSize noviceSize, CSize advancedSize, CSize bitmapSize, CWnd * pParent,
- const CRect & rc = CRect(0,0,0,0));
-
- // Inline access functions
- const UINT GetTaskID() const
- {
- return(m_idTask);
- }
- void SetBmpID(UINT idBmp)
- {
- m_idBmp = idBmp;
- }
-
- const UINT GetHorizTextID(void) { return m_idHorizText; }
- const UINT GetVertTextID(void) { return m_idVertText; }
-
- protected:
- // Protected destructor so no one tries to instantiate us on the
- // stack (we are an auto-deleting object)
- virtual ~CTaskIconWnd();
- virtual void PostNcDestroy();
- virtual void AddDropTargetIfStandardButton(void);
-
-
- //{{AFX_MSG(CTaskIconWnd)
- afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
- afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
- afx_msg void OnRButtonDown(UINT nFlags, CPoint point);
- afx_msg void OnRButtonUp(UINT nFlags, CPoint point);
- afx_msg void OnMouseMove(UINT nFlags, CPoint point);
- //}}AFX_MSG
-
- private:
- CWnd * m_pwndNotify; // Notifications go to this window
- DWORD m_dwMessage; // Callback message
- UINT m_idTask; // Task identifier for this icon
- UINT m_idBmp; // Bitmap identifier for this icon
- UINT m_idHorizText; // id when button is in horizontal mode
- UINT m_idVertText; // id when button is in vertical mode
-
- DECLARE_MESSAGE_MAP()
-
- }; // END OF CLASS CTaskIconWnd()
-
-
- /****************************************************************************
- *
- * Class: CTaskIconWndArray
- *
- * DESCRIPTION:
- * This is a container class for holding CTaskIconWnd objects.
- *
- ****************************************************************************/
-
- #define CTaskIconWndArrayBase CObArray
-
- class CTaskIconWndArray : public CTaskIconWndArrayBase
- {
- public:
- CTaskIconWndArray(){}
- ~CTaskIconWndArray(){}
-
- int Add(CTaskIconWnd * pIcon)
- {
- return(CTaskIconWndArrayBase::Add(pIcon));
- }
- CTaskIconWnd * Get(int nIndex) const
- {
- return((CTaskIconWnd *)GetAt(nIndex));
- }
- int FindByID(UINT idTask);
- void DeleteAll();
-
- protected:
-
- private:
-
- }; // END OF CLASS CTaskIconWndArray()
-
-
- /****************************************************************************
- *
- * Class: CTaskBar
- *
- * DESCRIPTION:
- * This is the base class for task bar objects. All polymorphic functions
- * common to the floating, docked, or other derived task bars are
- * implemented here.
- *
- * This is an abstract base class - you must instantiate one of the
- * derived types. Also, objects of this class are auto-deleting, you
- * must allocate them on the heap.
- *
- ****************************************************************************/
-
- #define CTaskBarBase CWnd
-
- class CTaskBar : public CTaskBarBase
- {
- public:
- CTaskBar(int nToolbarStyle);
- virtual BOOL Create(CWnd * pParent) = 0;
-
- virtual BOOL AddTaskIcon(UINT idTask, CWnd * pwndNotify, DWORD dwMessage,
- HBITMAP hBitmap, int nBitmapIndex, UINT idHorizText, UINT idVertText,
- UINT idText, UINT idTip, int nToolbarStyle);
-
- BOOL ReplaceTaskIcon(UINT idTask, UINT idBmp, int nBitmapIndex);
- BOOL RemoveTaskIcon(UINT idTask);
- virtual CSize CalcDesiredDim();
- virtual CSize GetButtonDimensions();
- int GetTaskBarStyle(void) { return m_nToolbarStyle; }
- void SetTaskBarStyle(int nToolbarStyle);
- void ChangeButtonText(void);
- void ReplaceButtonBitmap(int nIndex, HBITMAP hBitmap);
-
- // ClassWizard generated virtual function overrides
- //{{AFX_VIRTUAL(CTaskBar)
- //}}AFX_VIRTUAL
-
- protected:
- // Protected destructor so no one tries to instantiate us on the
- // stack (we are an auto-deleting object)
- virtual ~CTaskBar();
- virtual void PostNcDestroy();
- virtual void DoPaint(CPaintDC & dc) = 0;
- void LayoutIcons();
- BOOL DragBarHitTest(const CPoint & pt);
-
- void ChangeButtonStyle(void);
- CTaskIconWndArray m_TaskIconWndList;
- CSize m_noviceButtonSize;
- CSize m_advancedButtonSize;
- CSize m_IconSize;
-
- int m_nMaxButtonWidth;
- int m_nMaxButtonHeight;
-
-
- int m_nDragBarWidth; // when horizontal
- int m_nDragBarHeight; // when vertical
- int m_nIconSpace;
- int m_nToolbarStyle;
-
- BOOL m_bHorizontal; // TRUE when oriented horizontally
- BOOL m_bShowText; // TRUE when icon text is to be shown
-
-
- //{{AFX_MSG(CTaskBar)
- afx_msg void OnPaint();
- afx_msg void OnSize(UINT nType, int cx, int cy);
- afx_msg void OnPaletteChanged( CWnd* pFocusWnd );
- afx_msg void OnSysColorChange();
-
- //}}AFX_MSG
-
- private:
-
- DECLARE_MESSAGE_MAP()
-
- }; // END OF CLASS CTaskBar()
-
-
- /****************************************************************************
- *
- * Class: CDockButton
- *
- * DESCRIPTION:
- * This class represents the docking (minimize) button for the floating
- * task bar.
- *
- ****************************************************************************/
-
- #define CDockButtonBase CButton
-
- class CDockButton : public CDockButtonBase
- {
- public:
- CDockButton();
- BOOL Create(const CRect & rect, CWnd* pwndParent, UINT uID);
-
- protected:
- void DrawItem(LPDRAWITEMSTRUCT lpDrawItem);
- void DrawImage(CDC * pDC, CRect & rect);
- void DrawUpButton(CDC * pDC, CRect & rect);
- void DrawDownButton(CDC * pDC, CRect & rect);
-
- //{{AFX_MSG(CDockButton)
- //}}AFX_MSG
-
- private:
-
- DECLARE_MESSAGE_MAP()
-
- }; // END OF CLASS CDockButton()
-
-
- /****************************************************************************
- *
- * Class: CFloatingTaskBar
- *
- * DESCRIPTION:
- * This derived version of CTaskBar provides a "floating" task bar. It
- * is in the form of a custom popup window.
- *
- ****************************************************************************/
-
- #define CFloatingTaskBarBase CTaskBar
-
- class CFloatingTaskBar : public CFloatingTaskBarBase
- {
- public:
- CFloatingTaskBar(int nToolbarStyle, BOOL bOnTop = TRUE, BOOL bHorizontal = TRUE );
- BOOL Create(CWnd * pParent);
-
- protected:
- // Protected destructor so no one tries to instantiate us on the
- // stack (we are an auto-deleting object)
- virtual ~CFloatingTaskBar();
- virtual void DoPaint(CPaintDC & dc);
- void PaintDragBar(CDC * pdc);
- void SetMenuState(CMenu * pMenu);
-
- CDockButton m_btnDock; // Docking button
- BOOL m_bActive; // Maintains our active state
-
- //{{AFX_MSG(CFloatingTaskBar)
- afx_msg void OnClose();
- afx_msg void OnMouseMove(UINT nFlags, CPoint point);
- afx_msg void OnDock();
- afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point);
- afx_msg void OnRButtonUp(UINT nFlags, CPoint point);
- afx_msg void OnMove(int x, int y);
- afx_msg LRESULT OnAddMenu(WPARAM, LPARAM);
- afx_msg void OnAlwaysOnTop();
- afx_msg void OnShowText();
- afx_msg void OnPosition();
- afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
- afx_msg void OnInitMenu(CMenu *pMenu);
- afx_msg int OnCreate( LPCREATESTRUCT lpCreateStruct );
-
-
- //}}AFX_MSG
-
- private:
- BOOL m_bOnTop; // TRUE when 'always on top' property is set
- // BOOL m_bHorizontal; // TRUE when oriented horizontally
-
- DECLARE_MESSAGE_MAP()
-
- }; // END OF CLASS CFloatingTaskBar()
-
-
- /****************************************************************************
- *
- * Class: CDockedTaskBar
- *
- * DESCRIPTION:
- * This derived version of CTaskBar provides a "docked" task bar. It is
- * in the form of a mini child window embedded within its parent
- * (normally a CNetscapeStatusBar).
- *
- ****************************************************************************/
-
- #define CDockedTaskBarBase CTaskBar
-
- class CDockedTaskBar : public CDockedTaskBarBase
- {
- public:
- CDockedTaskBar(int nToolbarStyle);
- BOOL Create(CWnd * pParent);
-
- protected:
- // Protected destructor so no one tries to instantiate us on the
- // stack (we are an auto-deleting object)
- virtual ~CDockedTaskBar();
- virtual void DoPaint(CPaintDC & dc);
- void OnUnDock(CPoint & ptUL = CPoint(-1, -1));
-
- //{{AFX_MSG(CDockedTaskBar)
- afx_msg void OnMouseMove(UINT nFlags, CPoint point);
- afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
- //}}AFX_MSG
-
- private:
-
- DECLARE_MESSAGE_MAP()
-
- }; // END OF CLASS CDockedTaskBar()
-
-
- /****************************************************************************
- *
- * Class: CTaskBarArray
- *
- * DESCRIPTION:
- * This is a container class for holding CTaskBar objects.
- *
- ****************************************************************************/
-
- #define CTaskBarArrayBase CObArray
-
- class CTaskBarArray : public CTaskBarArrayBase
- {
- public:
- CTaskBarArray(){}
- ~CTaskBarArray(){}
-
- int Add(CTaskBar * pTaskBar)
- {
- return(CTaskBarArrayBase::Add(pTaskBar));
- }
- CTaskBar * Get(int nIndex) const
- {
- return((CTaskBar *)GetAt(nIndex));
- }
- int Find(CTaskBar * pTaskBar);
- void DeleteAll();
-
- protected:
-
- private:
-
- }; // END OF CLASS CTaskBarArray()
-
-
- /****************************************************************************
- *
- * Class: CTaskBarMgr
- *
- * DESCRIPTION:
- * This class provides an object for managing all task bars within
- * the system. It maintains the abstract data for all active task icons
- * and handles the generation and switching between floating, docked or
- * other style task bars. All task bar operations should be piped though
- * this object so it can handle propagation to the appropriate active
- * task bar(s).
- *
- * There are also some convenience functions available, for such actions
- * as adding a common set of task icons.
- *
- ****************************************************************************/
-
- // State flag definitions
- #define TBAR_FLOATING 0x1L
- #define TBAR_ONTOP 0x2L
- #define TBAR_SHOWTEXT 0x4L
- #define TBAR_HORIZONTAL 0x8L
-
- // Forward declarations
- class CNetscapeStatusBar;
-
- #define CTaskBarMgrBase CObject
-
- class CTaskBarMgr : public CTaskBarMgrBase
- {
- public:
- CTaskBarMgr();
- virtual ~CTaskBarMgr();
-
- BOOL Init();
- //if bAlwaysDock is TRUE then ignore the docked preference
- void LoadPrefs(BOOL bAlwaysDock);
- void SavePrefs(void);
- void RegisterStatusBar(CNetscapeStatusBar * pStatBar);
- void UnRegisterStatusBar(CNetscapeStatusBar * pStatBar);
- void OnSizeStatusBar(CNetscapeStatusBar * pStatBar);
- BOOL AddStandardIcons();
- BOOL AddTaskIcon(UINT idTask, CWnd * pwndNotify, DWORD dwMessage,
- UINT idBmpLarge, int nLargeIndex, UINT idBmpSmall, int nSmallIndex,
- UINT idHorizText, UINT idVertText, UINT idDockedTip, UINT idFloatingTip);
- BOOL AddTaskIcon(UINT idTask, UINT idBmpLarge, int nLargeIndex, UINT idBmpSmall,
- int nSmallIndex, UINT idHorizText, UINT idVertText,
- UINT idDockedTip, UINT idFloatingTip);
- BOOL ReplaceTaskIcon(UINT idTask, UINT idBmpLarge, UINT idBmpSmall, int nIndex = 0);
- BOOL RemoveTaskIcon(UINT idTask);
- void OnDockTaskBar();
- void OnUnDockTaskBar(CPoint & ptUL = CPoint(-1, -1));
- void SetTaskBarStyle(int nTaskBarStyle);
- void SetSeparateTaskBarStyle(int nTaskBarStyle);
- void ReloadIconBitmaps(CTaskBar *pTaskBar);
- // if bAdd is TRUE then add a reference, otherwise, remove one.
- void Reference(BOOL bAdd);
- void ChangeTaskBarsPalette(HWND hFocus);
-
- CTaskIconArray &GetIconArray(void) { return m_IconList; }
-
- const BOOL IsInitialized() const
- {
- return(m_bInitialized);
- }
- const CPoint & GetLastFloatPos() const
- {
- return(m_ptLastFloatPos);
- }
- void SetLastFloatPos(const CPoint & pt)
- {
- m_ptLastFloatPos = pt;
- }
- const DWORD GetStateFlags() const
- {
- return(m_dwStateFlags);
- }
- void SetStateFlags(DWORD dwStateFlags)
- {
- m_dwStateFlags = dwStateFlags;
- }
-
-
- // Inline accessors for the state flags
- const BOOL IsFloating() const
- {
- return !!(m_dwStateFlags & TBAR_FLOATING);
- }
- void SetFloating(BOOL bFloating)
- {
- if (bFloating)
- {
- m_dwStateFlags |= TBAR_FLOATING;
- }
- else
- {
- m_dwStateFlags &= ~TBAR_FLOATING;
- }
- }
-
- const BOOL IsOnTop() const
- {
- return !!(m_dwStateFlags & TBAR_ONTOP);
- }
- void SetOnTop(BOOL bOnTop)
- {
- if (bOnTop)
- {
- m_dwStateFlags |= TBAR_ONTOP;
- }
- else
- {
- m_dwStateFlags &= ~TBAR_ONTOP;
- }
- }
-
- const BOOL IsShowText() const
- {
- return !!(m_dwStateFlags & TBAR_SHOWTEXT);
- }
- void SetShowText(BOOL bShowText)
- {
- if (bShowText)
- {
- m_dwStateFlags |= TBAR_SHOWTEXT;
- }
- else
- {
- m_dwStateFlags &= ~TBAR_SHOWTEXT;
- }
- PositionFloatingTaskBar();
-
- }
-
- const BOOL IsHorizontal() const
- {
- return !!(m_dwStateFlags & TBAR_HORIZONTAL);
- }
- void SetHorizontal(BOOL bHorizontal)
- {
- if (bHorizontal)
- {
- m_dwStateFlags |= TBAR_HORIZONTAL;
- }
- else
- {
- m_dwStateFlags &= ~TBAR_HORIZONTAL;
- }
-
- PositionFloatingTaskBar();
- }
-
- protected:
- BOOL CreateAllTaskBars();
- void DestroyAllTaskBars();
- BOOL CreateFloatingTaskBar();
- BOOL CreateDockedTaskBar(CNetscapeStatusBar * pStatBar);
- void PlaceOnStatusBar(CDockedTaskBar * pTaskBar,
- CNetscapeStatusBar * pStatBar);
- void AdjustStatusPane(CDockedTaskBar * pTaskBar,
- CNetscapeStatusBar * pStatBar);
- BOOL AddIconsToTaskBar(CTaskBar * pTaskBar);
- void PositionDockedTaskBars();
- void PositionFloatingTaskBar();
- void ChangeTaskBarStyle(int nTaskBarStyle);
-
-
- // State flags (these get saved in the registry by NETSCAPE.CPP)
- DWORD m_dwStateFlags; // These bits indicate various states
- // of the task bar
- CPoint m_ptLastFloatPos; // Upper left corner of floating TBar
-
- BOOL m_bInitialized; // TRUE when we've been initialized
- BOOL m_bSeparateTaskBarStyle; // Are we getting style from out menu or externally?
- CTaskIconArray m_IconList; // Contains list of task icon objects
- CTaskBarArray m_TaskBarList; // Contains active task bar pointers
- CObArray m_StatBarList; // Contains status bar pointers
- CMapPtrToPtr m_StatBarMap; // Maps sbar pointers to tbar pointers
- int m_nTaskBarStyle; // The current style of the taskbar
- int m_nReference; // The number of references we have
- private:
-
- }; // END OF CLASS CTaskBarMgr()
-
-
- #endif // __TASKBAR_H__
-