HelpWindow.cpp
上传用户:cnxinhai
上传日期:2013-08-06
资源大小:265k
文件大小:5k
源码类别:

DVD

开发平台:

Visual C++

  1. /********************************************************************************
  2. *                                                                               *
  3. *                            H e l p   W i n d o w                              *
  4. *                                                                               *
  5. *********************************************************************************
  6. * Copyright (C) 1998,2001 by Jeroen van der Zijp.   All Rights Reserved.        *
  7. *********************************************************************************
  8. * This library is free software; you can redistribute it and/or                 *
  9. * modify it under the terms of the GNU Lesser General Public                    *
  10. * License as published by the Free Software Foundation; either                  *
  11. * version 2.1 of the License, or (at your option) any later version.            *
  12. *                                                                               *
  13. * This library is distributed in the hope that it will be useful,               *
  14. * but WITHOUT ANY WARRANTY; without even the implied warranty of                *
  15. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU             *
  16. * Lesser General Public License for more details.                               *
  17. *                                                                               *
  18. * You should have received a copy of the GNU Lesser General Public              *
  19. * License along with this library; if not, write to the Free Software           *
  20. * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA.    *
  21. *********************************************************************************
  22. * $Id: HelpWindow.cpp,v 1.6 2001/03/14 04:10:27 jeroen Exp $                    *
  23. *********************************************************************************
  24. * Modifications to the original Help Window (C) 2001, Adam Schlag               *
  25. * no change in license is granted however; this file is still under the LGPL.   *
  26. ********************************************************************************/
  27. // FOX library include file
  28. #include <fx.h>
  29. // this class' header file
  30. #include "HelpWindow.h"
  31. // this contains the text to display in the windows
  32. #include "FreeburnHelpText.h"
  33. // basic FreeBurn def file
  34. #include "FreeburnDefs.h"
  35. #include <stdio.h>
  36. #include <stdlib.h>
  37. /*******************************************************************************/
  38.   
  39. FXIMPLEMENT(HelpWindow,FXDialogBox,NULL,0)
  40. // Construct help dialog box
  41. HelpWindow::HelpWindow(FXWindow *owner, const FXchar* displayText, const FXchar* titleText, FXbool useFixedFont):
  42.   FXDialogBox(owner,titleText,DECOR_TITLE|DECOR_BORDER|DECOR_MINIMIZE|DECOR_MAXIMIZE|DECOR_CLOSE|DECOR_RESIZE|DECOR_MENU,  
  43.   0,0,0,0, 6,6,6,6, 4,4)
  44. {
  45.   
  46.   // Bottom part
  47.   m_closebox=new FXHorizontalFrame(this,LAYOUT_SIDE_BOTTOM|LAYOUT_FILL_X|PACK_UNIFORM_WIDTH);
  48.   m_okButton=new FXButton(m_closebox,fbHelpCloseButtonText,NULL,this,FXDialogBox::ID_ACCEPT,BUTTON_DEFAULT|LAYOUT_RIGHT|FRAME_RAISED|FRAME_THICK,0,0,0,0, 20,20,5,5);
  49.   // Editor part
  50.   m_editbox=new FXHorizontalFrame(this,LAYOUT_SIDE_TOP|LAYOUT_FILL_X|LAYOUT_FILL_Y|FRAME_SUNKEN|FRAME_THICK,0,0,0,0, 0,0,0,0);
  51.   m_helptext=new FXText(m_editbox,NULL,0,TEXT_READONLY|TEXT_WORDWRAP|LAYOUT_FILL_X|LAYOUT_FILL_Y);
  52.   m_helptext->setVisRows(30);
  53.   m_helptext->setVisCols(80);
  54.   
  55.   if (useFixedFont)
  56.   {
  57.     FXFont* textFont = new FXFont(getApp(),FIXED_FONT,10); 
  58.     m_helptext->setFont(textFont);
  59.   }
  60.   else
  61.   {
  62.     FXFont* textFont = new FXFont(getApp(),HELP_FONT,10); 
  63.     m_helptext->setFont(textFont);
  64.   }
  65.   
  66.   // Fill with help
  67.   m_helptext->setText(displayText,strlen(displayText));
  68.   m_helptext->setTabColumns(35);
  69.   }
  70. // Clean up
  71. HelpWindow::~HelpWindow(){
  72.   m_helptext=(FXText*)-1;
  73.   }
  74. void HelpWindow::setWindowBaseColor(FXColor baseColor, FXColor hiliteColor, FXColor shadowColor){
  75.   m_closebox->setBackColor(baseColor);
  76.   m_closebox->setHiliteColor(hiliteColor);
  77.   m_closebox->setShadowColor(shadowColor);
  78.   
  79.   m_editbox->setBackColor(baseColor);
  80.   m_editbox->setHiliteColor(hiliteColor);
  81.   m_editbox->setShadowColor(shadowColor);
  82.   
  83.   m_okButton->setBackColor(baseColor);
  84.   m_okButton->setHiliteColor(hiliteColor);
  85.   m_okButton->setShadowColor(shadowColor);
  86.   
  87.   m_helptext->verticalScrollbar()->setBackColor(baseColor);
  88.   m_helptext->verticalScrollbar()->setHiliteColor(hiliteColor);
  89.   m_helptext->verticalScrollbar()->setShadowColor(shadowColor); 
  90.   
  91.   this->setBackColor(baseColor);
  92.   }
  93.   
  94. void HelpWindow::setWindowForeColor(FXColor color){
  95.   m_okButton->setTextColor(color);
  96.   
  97.   m_helptext->setTextColor(color);
  98.   }
  99.   
  100. void HelpWindow::setWindowBackColor(FXColor color){
  101.   m_helptext->setBackColor(color);
  102.   }
  103.   
  104. void HelpWindow::setWindowBordColor(FXColor color){
  105.   m_closebox->setBorderColor(color);
  106.   
  107.   m_editbox->setBorderColor(color);
  108.   
  109.   m_okButton->setBorderColor(color);
  110.   
  111.   m_helptext->verticalScrollbar()->setBorderColor(color);  
  112.   }