Mercurial > ecos
comparison host/tools/configtool/common/win32/ControlView.h @ 76:435cced73e2f ecos-v1_3_1-release
eCos v1.3.1 merged from eCos master repository on 2000-03-27-23:22:51-BST
| author | jlarmour |
|---|---|
| date | Tue, 28 Mar 2000 14:10:45 +0000 |
| parents | |
| children | 74dbf4c3f2e1 |
comparison
equal
deleted
inserted
replaced
| 75:41bf073c0c32 | 76:435cced73e2f |
|---|---|
| 1 //####COPYRIGHTBEGIN#### | |
| 2 // | |
| 3 // ---------------------------------------------------------------------------- | |
| 4 // Copyright (C) 1998, 1999, 2000 Red Hat, Inc. | |
| 5 // | |
| 6 // This program is part of the eCos host tools. | |
| 7 // | |
| 8 // This program is free software; you can redistribute it and/or modify it | |
| 9 // under the terms of the GNU General Public License as published by the Free | |
| 10 // Software Foundation; either version 2 of the License, or (at your option) | |
| 11 // any later version. | |
| 12 // | |
| 13 // This program is distributed in the hope that it will be useful, but WITHOUT | |
| 14 // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
| 15 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | |
| 16 // more details. | |
| 17 // | |
| 18 // You should have received a copy of the GNU General Public License along with | |
| 19 // this program; if not, write to the Free Software Foundation, Inc., | |
| 20 // 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | |
| 21 // | |
| 22 // ---------------------------------------------------------------------------- | |
| 23 // | |
| 24 //####COPYRIGHTEND#### | |
| 25 //=========================================================================== | |
| 26 //#####DESCRIPTIONBEGIN#### | |
| 27 // | |
| 28 // Author(s): sdf | |
| 29 // Contact(s): sdf | |
| 30 // Date: 1998/08/11 | |
| 31 // Version: 0.01 | |
| 32 // Purpose: | |
| 33 // Description: Interface of the tree (control) view class | |
| 34 // Requires: | |
| 35 // Provides: | |
| 36 // See also: | |
| 37 // Known bugs: | |
| 38 // Usage: | |
| 39 // | |
| 40 //####DESCRIPTIONEND#### | |
| 41 // | |
| 42 //=========================================================================== | |
| 43 #if !defined(AFX_CONTROLVIEW_H__A4845250_05EE_11D2_80BE_00A0C949ADAC__INCLUDED_) | |
| 44 #define AFX_CONTROLVIEW_H__A4845250_05EE_11D2_80BE_00A0C949ADAC__INCLUDED_ | |
| 45 | |
| 46 #if _MSC_VER >= 1000 | |
| 47 #pragma once | |
| 48 #endif // _MSC_VER >= 1000 | |
| 49 // ControlView.h : header file | |
| 50 // | |
| 51 ///////////////////////////////////////////////////////////////////////////// | |
| 52 // CControlView view | |
| 53 class CConfigItem; | |
| 54 #include <afxcview.h> | |
| 55 | |
| 56 class CCellView; | |
| 57 class CConfigToolDoc; | |
| 58 class CConfigViewOptionsDialog; | |
| 59 class CFindDialog; | |
| 60 | |
| 61 class CControlView : public CTreeView | |
| 62 { | |
| 63 friend class CConfigItem; | |
| 64 protected: | |
| 65 CControlView(); // protected constructor used by dynamic creation | |
| 66 DECLARE_DYNCREATE(CControlView) | |
| 67 | |
| 68 // Attributes | |
| 69 public: | |
| 70 // Attributes | |
| 71 // Let us use the View as a control: | |
| 72 #include "TreeCtrlToView.inl" | |
| 73 friend class CCellView; | |
| 74 // Operations | |
| 75 public: | |
| 76 int GetItemHeight() const { return m_nItemHeight; } | |
| 77 CConfigItem &TI (HTREEITEM h) const { | |
| 78 return *(CConfigItem *)GetItemData(h); | |
| 79 } | |
| 80 | |
| 81 BOOL IsActive(HTREEITEM h) const; | |
| 82 | |
| 83 // Overrides | |
| 84 // ClassWizard generated virtual function overrides | |
| 85 //{{AFX_VIRTUAL(CControlView) | |
| 86 public: | |
| 87 virtual void OnInitialUpdate(); | |
| 88 virtual void OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint); | |
| 89 virtual BOOL PreTranslateMessage(MSG* pMsg); | |
| 90 protected: | |
| 91 virtual void OnDraw(CDC* pDC); // overridden to draw this view | |
| 92 virtual BOOL PreCreateWindow(CREATESTRUCT& cs); | |
| 93 //}}AFX_VIRTUAL | |
| 94 | |
| 95 // Implementation | |
| 96 protected: | |
| 97 void Refresh (HTREEITEM h); | |
| 98 CPen m_GrayPen; | |
| 99 int m_nMaxWidth; | |
| 100 BOOL m_bHasHScroll; | |
| 101 void SetHScrollPos(); | |
| 102 void SetHScrollRangePos(); | |
| 103 BOOL m_bHasVScroll; | |
| 104 void SetScrollRangePos(); | |
| 105 void SetScrollPos(); | |
| 106 void KillScrollBars(); | |
| 107 virtual ~CControlView(); | |
| 108 #ifdef _DEBUG | |
| 109 virtual void AssertValid() const; | |
| 110 virtual void Dump(CDumpContext& dc) const; | |
| 111 #endif | |
| 112 | |
| 113 // Generated message map functions | |
| 114 protected: | |
| 115 void ShowPopupMenu (HTREEITEM h,CPoint point=CPoint(-1,-1)); | |
| 116 void RecalcWorkSpaceSize(); | |
| 117 int m_TreeXOffsetAdjustment; | |
| 118 int m_nWorkspace; // Height of the virtual workspace | |
| 119 int TotalDescendantHeight(HTREEITEM hItem)const; // Visible height of descendants (not including hItem itself) | |
| 120 CSize m_Size; | |
| 121 int m_nItemHeight; // Height of an item (can use GetItemHeight() in IE4) | |
| 122 bool BumpItem (HTREEITEM h,int nInc=1); // Increment the item (do what clicking on the icon achieves) | |
| 123 void AdjustItemImage (HTREEITEM h); | |
| 124 protected: | |
| 125 bool m_bFindInProgress; | |
| 126 static bool IsWordChar (TCHAR c); | |
| 127 CConfigItem *DoFind(LPCTSTR pszWhat,DWORD dwFlags,WhereType where); | |
| 128 HTREEITEM m_hExpandedForFind; | |
| 129 CConfigToolDoc * GetDocument(); | |
| 130 void InvalidateItem (HTREEITEM h); | |
| 131 BOOL IsChanged (HTREEITEM h, BOOL bRecurse); | |
| 132 void RestoreDefault (HTREEITEM h, BOOL bRecurse = FALSE, BOOL bTopLevel = TRUE); | |
| 133 HTREEITEM m_hContext; // Where the right-click occurred | |
| 134 ItemIntegerType Value(HTREEITEM h) const; // Value (taking into account any in-cell activity) | |
| 135 CImageList m_il; // Image list for the control | |
| 136 //{{AFX_MSG(CControlView) | |
| 137 afx_msg void OnPaint(); | |
| 138 afx_msg void OnItemexpanded(NMHDR* pNMHDR, LRESULT* pResult); | |
| 139 afx_msg void OnSelchanged(NMHDR* pNMHDR, LRESULT* pResult); | |
| 140 afx_msg void OnLButtonDown(UINT nFlags, CPoint point); | |
| 141 afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar); | |
| 142 afx_msg void OnSize(UINT nType, int cx, int cy); | |
| 143 afx_msg void OnRestoreDefaults(); | |
| 144 afx_msg void OnPopupProperties(); | |
| 145 afx_msg void OnUnload(); | |
| 146 afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags); | |
| 147 afx_msg void OnViewUrl(); | |
| 148 afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); | |
| 149 afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar); | |
| 150 afx_msg void OnMouseMove(UINT nFlags, CPoint point); | |
| 151 afx_msg void OnItemexpanding(NMHDR* pNMHDR, LRESULT* pResult); | |
| 152 afx_msg BOOL OnMouseWheel(UINT nFlags, short zDelta, CPoint pt); | |
| 153 afx_msg void OnRButtonDown(UINT nFlags, CPoint point); | |
| 154 afx_msg void OnSysKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags); | |
| 155 afx_msg void OnSysChar(UINT nChar, UINT nRepCnt, UINT nFlags); | |
| 156 afx_msg void OnViewHeader(); | |
| 157 afx_msg LONG OnFind(WPARAM wParam, LPARAM lParam); | |
| 158 afx_msg void OnEditFind(); | |
| 159 afx_msg void OnEditFindAgain(); | |
| 160 afx_msg void OnUpdateEditFindAgain(CCmdUI* pCmdUI); | |
| 161 afx_msg void OnUpdateEditFind(CCmdUI* pCmdUI); | |
| 162 afx_msg void OnChar(UINT nChar, UINT nRepCnt, UINT nFlags); | |
| 163 afx_msg void OnDeleteitem(NMHDR* pNMHDR, LRESULT* pResult); | |
| 164 afx_msg void OnWhatsThis(); | |
| 165 afx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo); | |
| 166 afx_msg LRESULT OnMenuChar(UINT nChar, UINT nFlags, CMenu* pMenu); | |
| 167 //}}AFX_MSG | |
| 168 afx_msg LRESULT OnSetFont(WPARAM, LPARAM lParam); | |
| 169 public: | |
| 170 void Refresh (LPCTSTR pszMacroName); | |
| 171 bool SelectItem (const CConfigItem *pItem); | |
| 172 DECLARE_MESSAGE_MAP() | |
| 173 private: | |
| 174 }; | |
| 175 | |
| 176 ///////////////////////////////////////////////////////////////////////////// | |
| 177 | |
| 178 //{{AFX_INSERT_LOCATION}} | |
| 179 // Microsoft Developer Studio will insert additional declarations immediately before the previous line. | |
| 180 | |
| 181 #endif // !defined(AFX_CONTROLVIEW_H__A4845250_05EE_11D2_80BE_00A0C949ADAC__INCLUDED_) |
