From: Guy H <da...@us...> - 2004-10-13 23:25:46
|
Update of /cvsroot/anyedit/AnyEditToolkit/GuiLib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8916/AnyEditToolkit/GuiLib Modified Files: GuiMiniTool.cpp GuiMiniTool.h Log Message: 1. Fixed DelButton 2. Added InsertButton to allow inserting buttons before the last one 3. Some code cleaning Index: GuiMiniTool.cpp =================================================================== RCS file: /cvsroot/anyedit/AnyEditToolkit/GuiLib/GuiMiniTool.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** GuiMiniTool.cpp 11 Oct 2004 18:01:23 -0000 1.2 --- GuiMiniTool.cpp 13 Oct 2004 23:25:36 -0000 1.3 *************** *** 38,52 **** { m_arrButtons.RemoveAll(); ! nNumItems=0; ! m_AlignButton=ALIGN_LEFT; ! m_AlinTexto=ALIGN_LEFT; ! m_clrface=GuiDrawLayer::GetRGBColorXP(); ! m_bAutoSize=FALSE; ! m_bExisteCombo=FALSE; m_cfont.CreateFont(-11,0,0,0,400,0,0,0,0,1,2,1,34,_T("MS Sans Serif")); ! m_clrCaption=GuiDrawLayer::GetRGBColorShadow(GuiDrawLayer::m_Style); ! m_Caption=_T(""); ! msz=CSize(0,0); ! m_StyleDisplay=GUISTYLE_XP; } --- 38,50 ---- { m_arrButtons.RemoveAll(); ! m_AlignButton = ALIGN_LEFT; ! m_AlinTexto = ALIGN_LEFT; ! m_clrface = GuiDrawLayer::GetRGBColorXP(); ! m_bAutoSize = FALSE; ! m_bExisteCombo = FALSE; m_cfont.CreateFont(-11,0,0,0,400,0,0,0,0,1,2,1,34,_T("MS Sans Serif")); ! m_clrCaption = GuiDrawLayer::GetRGBColorShadow(GuiDrawLayer::m_Style); ! m_szCaption = CSize(0,0); ! m_StyleDisplay = GUISTYLE_XP; } *************** *** 97,113 **** //******************************************************************************** ! void CGuiMiniTool::AddButton(int nIndex,UINT Cmd,CMenu* pMenu,CString m_szCaption,CString m_ToolTip) { ! ! m_arrButtons.SetAtGrow(nNumItems, new CArrButton ! (this,m_imgList.ExtractIcon(nIndex),Cmd,&m_cfont,m_szCaption,pMenu,m_ToolTip)); ! ! nNumItems++; RecalLayout(); } //************************************************************************** ! HICON CGuiMiniTool::GetImagIcon(int nNum) { return m_imgList.ExtractIcon(nNum); --- 95,111 ---- //******************************************************************************** ! void CGuiMiniTool::InsertButton(int nIndex, int nImage, UINT uCmd, CMenu* pMenu /* = NULL */, const CString& sCaption /* = _T("") */, const CString& sToolTip /* =_T("") */) { ! m_arrButtons.InsertAt(nIndex, new CArrButton(this, m_imgList.ExtractIcon(nImage), uCmd, &m_cfont, sCaption, pMenu, sToolTip)); RecalLayout(); + } + void CGuiMiniTool::AddButton(int nImage, UINT uCmd, CMenu* pMenu /* = NULL */, const CString& sCaption /* = _T("") */, const CString& sToolTip /* =_T("") */) + { + InsertButton(GetCountButton(), nImage, uCmd, pMenu, sCaption, sToolTip); } //************************************************************************** ! HICON CGuiMiniTool::GetImageIcon(int nNum) { return m_imgList.ExtractIcon(nNum); *************** *** 122,127 **** return FALSE; pControl->m_IsCallMiniTool=TRUE; ! m_arrButtons.SetAtGrow(nNumItems, new CArrButton(pControl)); ! nNumItems++; RecalLayout(); return TRUE; --- 120,124 ---- return FALSE; pControl->m_IsCallMiniTool=TRUE; ! m_arrButtons.SetAtGrow(GetCountButton(), new CArrButton(pControl)); RecalLayout(); return TRUE; *************** *** 151,156 **** void CGuiMiniTool::DelButton(int nIndex) { ! nNumItems--; ! m_arrButtons.RemoveAt(nIndex,nNumItems); RecalLayout(); } --- 148,154 ---- void CGuiMiniTool::DelButton(int nIndex) { ! ASSERT(nIndex < GetCountButton()); ! delete (CArrButton*) m_arrButtons[nIndex]; ! m_arrButtons.RemoveAt(nIndex); RecalLayout(); } *************** *** 173,185 **** if (m_bAutoSize) CalcAutoSize(rcClient); ! if (msz.cx > 0) { if (m_AlinTexto==ALIGN_LEFT) ! rctemp.left+=msz.cx; else ! rctemp.right-=msz.cx; } ! for (int i=0; i < nNumItems;i++) { --- 171,183 ---- if (m_bAutoSize) CalcAutoSize(rcClient); ! if (m_szCaption.cx > 0) { if (m_AlinTexto==ALIGN_LEFT) ! rctemp.left += m_szCaption.cx; else ! rctemp.right -= m_szCaption.cx; } ! for (int i=0; i < GetCountButton(); i++) { *************** *** 227,236 **** } ! void CGuiMiniTool::SetCaption(CString mSzCaption,Align AlinText) { CClientDC dc(this); ! m_Caption=mSzCaption; ! msz=dc.GetTextExtent(m_Caption,m_Caption.GetLength()); ! m_AlinTexto=AlinText; } --- 225,234 ---- } ! void CGuiMiniTool::SetCaption(const CString& sCaption, Align AlinText) { CClientDC dc(this); ! m_sCaption = sCaption; ! m_szCaption = dc.GetTextExtent(m_sCaption); ! m_AlinTexto = AlinText; } *************** *** 246,250 **** m_nResultButtons=0; int m_numCombo=0; ! for (int i=0; i < nNumItems;i++) { if (((CArrButton*) m_arrButtons [i])->m_btipo ==TRUE) --- 244,248 ---- m_nResultButtons=0; int m_numCombo=0; ! for (int i=0; i < GetCountButton();i++) { if (((CArrButton*) m_arrButtons [i])->m_btipo ==TRUE) *************** *** 265,278 **** if (m_bExisteCombo) { ! if (m_nResultButtons+msz.cx > m_rc.Width()) //el espacio no alcanza para los botones m_nResultCombo=0; else { ! if ((GetSystemMetrics(SM_CXHTHUMB)+msz.cx) > m_rc.Width()-50) m_nResultCombo=0; else { ! m_nResultCombo=m_rc.Width()-(m_nResultButtons+msz.cx); ! m_nResultCombo/=m_numCombo; } --- 263,276 ---- if (m_bExisteCombo) { ! if (m_nResultButtons + m_szCaption.cx > m_rc.Width()) //el espacio no alcanza para los botones m_nResultCombo=0; else { ! if ((GetSystemMetrics(SM_CXHTHUMB) + m_szCaption.cx) > m_rc.Width()-50) m_nResultCombo=0; else { ! m_nResultCombo = m_rc.Width() - (m_nResultButtons + m_szCaption.cx); ! m_nResultCombo /= m_numCombo; } *************** *** 360,364 **** { m_clrface=m_clrFace; ! for (int i=0; i < nNumItems;i++) if (((CArrButton*) m_arrButtons [i])->m_btipo ==TRUE) ((CArrButton*) m_arrButtons [i])->m_bt.SetColor(m_clrface); --- 358,362 ---- { m_clrface=m_clrFace; ! for (int i=0; i < GetCountButton();i++) if (((CArrButton*) m_arrButtons [i])->m_btipo ==TRUE) ((CArrButton*) m_arrButtons [i])->m_bt.SetColor(m_clrface); *************** *** 417,421 **** { HWND hwnd = (HWND) lParam; ! for (int i=0; i < nNumItems;i++) { if (((CArrButton*) m_arrButtons [i])->m_btipo ==TRUE) --- 415,419 ---- { HWND hwnd = (HWND) lParam; ! for (int i=0; i < GetCountButton();i++) { if (((CArrButton*) m_arrButtons [i])->m_btipo ==TRUE) *************** *** 435,454 **** } ! CGuiToolButton* CGuiMiniTool::GetButton(UINT uID_Object)//,CGuiToolButton* m_btn) { ! ! for (int i=0; i < nNumItems;i++) { ! if (((CArrButton*) m_arrButtons [i])->m_btipo ==TRUE) ! if (((CArrButton*) m_arrButtons [i])->m_bt.GetDlgCtrlID()==(int signed )uID_Object) ! { ! ! CGuiToolButton* m_btn=&((CArrButton*) m_arrButtons [i])->m_bt; ! return m_btn; ! ! } ! } ! return NULL;//m_btn=NULL; } --- 433,452 ---- } ! int CGuiMiniTool::GetButtonIndex(UINT uID_Object) { ! for (int i=0; i < GetCountButton();i++) { ! if ((((CArrButton*) m_arrButtons[i])->m_btipo) && (((CArrButton*) m_arrButtons [i])->m_bt.GetDlgCtrlID()==(int signed )uID_Object)) ! return i; } ! return -1; ! } ! ! CGuiToolButton* CGuiMiniTool::GetButton(UINT uID_Object) ! { ! int nIndex = GetButtonIndex(uID_Object); ! if (nIndex == -1) ! return NULL; ! return &((CArrButton*)m_arrButtons[nIndex])->m_bt; } *************** *** 462,475 **** int nMode = dc.SetBkMode(TRANSPARENT); dc.SetTextColor(m_clrCaption); ! if(m_AlinTexto==ALIGN_LEFT) { rc.left+=5; ! dc.DrawText(m_Caption,rc,DT_SINGLELINE|DT_LEFT|DT_VCENTER) ; } else { ! m_rcDrawTexto.left=(long)(rc.right-msz.cx*1.1); ! m_rcDrawTexto.right=m_rcDrawTexto.left+msz.cx; ! dc.DrawText(m_Caption,m_rcDrawTexto,DT_SINGLELINE|DT_RIGHT|DT_VCENTER) ; } dc.SetBkMode(nMode); --- 460,473 ---- int nMode = dc.SetBkMode(TRANSPARENT); dc.SetTextColor(m_clrCaption); ! if (m_AlinTexto == ALIGN_LEFT) { rc.left+=5; ! dc.DrawText(m_sCaption,rc,DT_SINGLELINE|DT_LEFT|DT_VCENTER); } else { ! m_rcDrawTexto.left = (long)(rc.right - m_szCaption.cx * 1.1); ! m_rcDrawTexto.right = m_rcDrawTexto.left + m_szCaption.cx; ! dc.DrawText(m_sCaption, m_rcDrawTexto, DT_SINGLELINE|DT_RIGHT|DT_VCENTER) ; } dc.SetBkMode(nMode); *************** *** 483,487 **** { ! for( int i=0; i<nNumItems; i++ ) { CArrButton *pArr = (CArrButton*)m_arrButtons.GetAt(i); --- 481,485 ---- { ! for( int i=0; i<GetCountButton(); i++ ) { CArrButton *pArr = (CArrButton*)m_arrButtons.GetAt(i); Index: GuiMiniTool.h =================================================================== RCS file: /cvsroot/anyedit/AnyEditToolkit/GuiLib/GuiMiniTool.h,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** GuiMiniTool.h 11 Oct 2004 18:01:23 -0000 1.2 --- GuiMiniTool.h 13 Oct 2004 23:25:36 -0000 1.3 *************** *** 64,68 **** public: //********************************************************************* ! void AddButton(int nIndex,UINT Cmd,CMenu* pMenu=NULL,CString m_szCaption=_T(""),CString m_ToolTip=_T("")); BOOL CreateCombo(CGuiComboBoxExt* pControl,UINT nID,int iSize, DWORD dwStyle=WS_CHILD|WS_VISIBLE|CBS_AUTOHSCROLL| --- 64,69 ---- public: //********************************************************************* ! void AddButton(int nImage, UINT uCmd, CMenu* pMenu = NULL,const CString& sCaption = _T(""), const CString& sToolTip = _T("")); ! void InsertButton(int nIndex, int nImage, UINT uCmd, CMenu* pMenu = NULL,const CString& sCaption = _T(""), const CString& sToolTip = _T("")); BOOL CreateCombo(CGuiComboBoxExt* pControl,UINT nID,int iSize, DWORD dwStyle=WS_CHILD|WS_VISIBLE|CBS_AUTOHSCROLL| *************** *** 72,76 **** int GetCountButton(); void RecalLayout(); ! void SetCaption(CString mSzCaption,Align AlinText); //********************************************************************* void SetBorder(Borders Style); --- 73,77 ---- int GetCountButton(); void RecalLayout(); ! void SetCaption(const CString& sCaption, Align AlinText); //********************************************************************* void SetBorder(Borders Style); *************** *** 81,91 **** void SetColorCaption(COLORREF clrCaption); void Drawtext(); ! HICON GetImagIcon(int nNum); ! CGuiToolButton* GetButton(UINT uID_Object);//,CGuiToolButton* m_btn); virtual void StyleDispl(DWORD dwDsp=GUISTYLE_XP) { m_StyleDisplay=dwDsp; ! for (int i=0; i < nNumItems;i++) if (((CArrButton*) m_arrButtons [i])->m_btipo ==TRUE) { --- 82,93 ---- void SetColorCaption(COLORREF clrCaption); void Drawtext(); ! HICON GetImageIcon(int nNum); ! CGuiToolButton* GetButton(UINT uID_Object); ! int GetButtonIndex(UINT uID_Object); virtual void StyleDispl(DWORD dwDsp=GUISTYLE_XP) { m_StyleDisplay=dwDsp; ! for (int i=0; i < GetCountButton();i++) if (((CArrButton*) m_arrButtons [i])->m_btipo ==TRUE) { *************** *** 102,106 **** CImageList m_imgList; COLORREF m_clrface; - int nNumItems; Borders m_border; Align m_AlignButton; --- 104,107 ---- *************** *** 110,116 **** BOOL m_bExisteCombo; CFont m_cfont; ! CString m_Caption; COLORREF m_clrCaption; ! CSize msz; Align m_AlinTexto; CRect m_rcDrawTexto; --- 111,117 ---- BOOL m_bExisteCombo; CFont m_cfont; ! CString m_sCaption; COLORREF m_clrCaption; ! CSize m_szCaption; Align m_AlinTexto; CRect m_rcDrawTexto; |