home *** CD-ROM | disk | FTP | other *** search
/ Inter.Net 55-1 / Inter.Net 55-1.iso / CBuilder / Setup / BCB / data.z / newbrow.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-02-09  |  9.5 KB  |  297 lines

  1. //---------------------------------------------------------------------------
  2. //Borland C++Builder
  3. //Copyright (c) 1987, 1998 Borland International Inc. All Rights Reserved.
  4. //---------------------------------------------------------------------------
  5. //---------------------------------------------------------------------------
  6. #ifndef NewBrowH
  7. #define NewBrowH
  8. //---------------------------------------------------------------------------
  9. #include <Classes.hpp>
  10. #include <Controls.hpp>
  11. #include <StdCtrls.hpp>
  12. #include <Forms.hpp>
  13. #include <ComCtrls.hpp>
  14. #include <Db.hpp>
  15. #include <DBGrids.hpp>
  16. #include <DBTables.hpp>
  17. #include <Dialogs.hpp>
  18. #include <ExtCtrls.hpp>
  19. #include <Grids.hpp>
  20. #include <Menus.hpp>
  21. #include "Clonetab.h"
  22. #include <Buttons.hpp>
  23. #include <ToolWin.hpp>
  24. #include <DBCtrls.hpp>
  25. //---------------------------------------------------------------------------
  26. class TMainForm : public TForm
  27. {
  28. __published:    // IDE-managed Components
  29.     TPanel *Panel1;
  30.     TPageControl *MainPgCtl;
  31.     TTabSheet *ClassTab;
  32.     TTabSheet *MemberTab;
  33.     TTabSheet *ProtoTab;
  34.     TTabSheet *TableTab;
  35.     TTabSheet *HeaderTab;
  36.     TTabSheet *SourceTab;
  37.     TRichEdit *DeclareRE;
  38.     TDBGrid *Grid;
  39.     TRichEdit *pasFileRE;
  40.     TTable *ParseVclTable;
  41.     TTable *VCLTable;
  42.     TStringField *VCLTableClassName;
  43.     TStringField *VCLTableMember;
  44.     TStringField *VCLTableMemberName;
  45.     TAutoIncField *VCLTableRecNum;
  46.     TStringField *VCLTableScope;
  47.     TStringField *VCLTableReturnType;
  48.     TStringField *VCLTableHeader;
  49.     TSmallintField *VCLTablePs;
  50.     TStringField *VCLTablePType1;
  51.     TStringField *VCLTablePObject1;
  52.     TStringField *VCLTablePType2;
  53.     TStringField *VCLTablePObject2;
  54.     TStringField *VCLTablePType3;
  55.     TStringField *VCLTablePObject3;
  56.     TStringField *VCLTablePType4;
  57.     TStringField *VCLTablePObject4;
  58.     TStringField *VCLTablePType5;
  59.     TStringField *VCLTablePObject5;
  60.     TStringField *VCLTablePType6;
  61.     TStringField *VCLTablePObject6;
  62.     TStringField *VCLTablePType7;
  63.     TStringField *VCLTablePObject7;
  64.     TStringField *VCLTablePType8;
  65.     TStringField *VCLTablePObject8;
  66.     TStringField *VCLTableSecondClass;
  67.     TStringField *VCLTableMisc;
  68.     TTable *DestTable;
  69.     TStringField *DestTableClassName;
  70.     TStringField *DestTableMember;
  71.     TStringField *DestTableMemberName;
  72.     TAutoIncField *DestTableRecNum;
  73.     TStringField *DestTableScope;
  74.     TStringField *DestTableReturnType;
  75.     TStringField *DestTableHeader;
  76.     TSmallintField *DestTablePs;
  77.     TStringField *DestTablePType1;
  78.     TStringField *DestTablePObject1;
  79.     TStringField *DestTablePType2;
  80.     TStringField *DestTablePObject2;
  81.     TStringField *DestTablePType3;
  82.     TStringField *DestTablePObject3;
  83.     TStringField *DestTablePType4;
  84.     TStringField *DestTablePObject4;
  85.     TStringField *DestTablePType5;
  86.     TStringField *DestTablePObject5;
  87.     TStringField *DestTablePType6;
  88.     TStringField *DestTablePObject6;
  89.     TStringField *DestTablePType7;
  90.     TStringField *DestTablePObject7;
  91.     TStringField *DestTablePType8;
  92.     TStringField *DestTablePObject8;
  93.     TStringField *DestTableSecondClass;
  94.     TStringField *DestTableMisc;
  95.     TTable *ClassListTab;
  96.     TStringField *ClassListTabClassName;
  97.     TPopupMenu *PopupMenu1;
  98.     TMenuItem *ViewParent;
  99.     TMenuItem *N4;
  100.     TMenuItem *ShowRecord;
  101.     TMenuItem *N3;
  102.     TMenuItem *ClosePage;
  103.     TMenuItem *CloseAll;
  104.     TMenuItem *N2;
  105.     TMenuItem *PrintDec;
  106.     TMenuItem *PrintDef;
  107.     TMenuItem *PrintHead;
  108.     TMenuItem *PrintSrce;
  109.     TDataSource *MainDS;
  110.     TQuery *DestTabQry;
  111.     TStringField *DestTabQryClassName;
  112.     TBatchMove *BatchMove1;
  113.     TPrintDialog *PrintDialog1;
  114.     TImageList *ImageList1;
  115.     TOpenDialog *FileOpenDlg;
  116.     TFontDialog *FontDialog1;
  117.     TColorDialog *ColorDialog1;
  118.     TMainMenu *MainMenu2;
  119.     TMenuItem *MenuItem1;
  120.     TMenuItem *Openhppcpp;
  121.     TMenuItem *N6;
  122.     TMenuItem *RebuildTab;
  123.     TMenuItem *ParseHeader;
  124.     TMenuItem *LoadVCLTable;
  125.     TMenuItem *N5;
  126.     TMenuItem *Exit;
  127.     TMenuItem *Search1;
  128.     TMenuItem *MemberName1;
  129.     TMenuItem *ClassName1;
  130.     TMenuItem *FontColors1;
  131.     TMenuItem *Declaration;
  132.     TMenuItem *Definition;
  133.     TMenuItem *MemberList;
  134.     TMenuItem *QuickClass;
  135.     TMenuItem *Grid1;
  136.     TMenuItem *HeaderPage;
  137.     TMenuItem *SourcePage;
  138.     TMenuItem *Background1;
  139.     TMenuItem *Declaration2;
  140.     TMenuItem *Definition2;
  141.     TMenuItem *MemberList2;
  142.     TMenuItem *QuickClass2;
  143.     TMenuItem *Grid2;
  144.     TMenuItem *HeaderPage2;
  145.     TMenuItem *SourcePage2;
  146.     TMenuItem *Help1;
  147.     TMenuItem *About1;
  148.     TDatabase *ClassOrgDB;
  149.    TStatusBar *StatusBar;
  150.     TListBox *ClassLB;
  151.     TPageControl *MembPgCtl;
  152.     TListView *MembersLV;
  153.     TRichEdit *DefineRE;
  154.     TPanel *Panel2;
  155.     TPanel *Panel3;
  156.     TRichEdit *hppFileRE;
  157.    TMenuItem *N1;
  158.    TMenuItem *Find1;
  159.    TMenuItem *FindNext1;
  160.    TFindDialog *FindDlg;
  161.    TToolBar *ToolBar1;
  162.    TImageList *TBGImages;
  163.    TImageList *TBHImages;
  164.    TDBNavigator *DBNavigator1;
  165.     TToolButton *PublicBtn;
  166.     TToolButton *PublishBtn;
  167.     TToolButton *ProtectBtn;
  168.     TToolButton *PrivateBtn;
  169.    void __fastcall SelectATab(TObject *Sender);
  170.     void __fastcall MembersLVClick(TObject *Sender);
  171.     void __fastcall FormCreate(TObject *Sender);
  172.     void __fastcall RebuildVCLTabMi(TObject *Sender);
  173.     void __fastcall FormShow(TObject *Sender);
  174.     void __fastcall ClassLBClick(TObject *Sender);
  175.     void __fastcall MemberName1Click(TObject *Sender);
  176.     void __fastcall ViewHeaderClick(TObject *Sender);
  177.     void __fastcall ShowRecordClick(TObject *Sender);
  178.     void __fastcall About1Click(TObject *Sender);
  179.     void __fastcall ClassName1Click(TObject *Sender);
  180.     void __fastcall ViewSourceClick(TObject *Sender);
  181.     void __fastcall ParseHeaderClick(TObject *Sender);
  182.     void __fastcall ClosePageClick(TObject *Sender);
  183.     void __fastcall CloseAllClick(TObject *Sender);
  184.     void __fastcall FormActivate(TObject *Sender);
  185.     void __fastcall ChangeFonts(TObject *Sender);
  186.     void __fastcall ChangeBkgnds(TObject *Sender);
  187.     void __fastcall ViewParentClick(TObject *Sender);
  188.     void __fastcall FormClose(TObject *Sender, TCloseAction &Action);
  189.     void __fastcall ExitClick(TObject *Sender);
  190.     void __fastcall PublicLabClick(TObject *Sender);
  191.     void __fastcall MembersLVKeyDown(TObject *Sender,
  192.                              WORD &Key, TShiftState Shift);
  193.     void __fastcall LoadVCLTableClick(TObject *Sender);
  194.     void __fastcall ViewMultipleClick(TObject *Sender);
  195.     void __fastcall ViewExpandedClick(TObject *Sender);
  196.     void __fastcall OpenhppcppClick(TObject *Sender);
  197.     void __fastcall MainPgCtlChange(TObject *Sender);
  198.     void __fastcall ShowHint(TObject *Sender);
  199.     void __fastcall Print(TObject *Sender);
  200.    void __fastcall FindDlgFind(TObject *Sender);
  201.    void __fastcall Find1Click(TObject *Sender);
  202.    
  203.     
  204.     void __fastcall ClassLBKeyDown(TObject *Sender, WORD &Key,
  205.       TShiftState Shift);
  206. private:    // User declarations
  207.     bool InitializedTable;
  208.     bool DoesFileExist;
  209.     bool MemberSearch;
  210.     bool LocateSuccess;
  211.     bool ParsingHeaders;
  212.     bool DeleteTabs;
  213.     bool IsOperator;
  214.     String SecondClass;
  215.     String LocalVclSource;
  216.     String LocalTablesDir;
  217.     String LocalVclHeaders;
  218.     String UserName;
  219.     String PasFileName;
  220.     String CurrentHeader;
  221.     String CurrentSource;
  222.     String MemberNameSel;
  223.     String ClassLBSel;
  224.     String CurrentTab;
  225.     int DefLength;
  226.     long EndLineNum;
  227.     long PosFound;
  228.     TCloneTable *RawVCLTable;
  229.     TLocateOptions MySearchOptions;
  230.     void WriteRegKeys();
  231.     void ProcessSelectedClass();
  232.     void LoadSourcePage();
  233.     void GetRegInfo();
  234.     void LoadPasCode(const String MemberType,
  235.                                 const String LBSelectMember);
  236.     void LoadDeclCode(const String LBString);
  237.     int FindImageIndex(const String Line,
  238.                             const String DefinedLineNumber);
  239.     bool IsItABadLine(const String Line,
  240.                             const int DefinedLineNumber);
  241.     void ExtractClassMembers(const int ClassPosition,
  242.                                     const String ClassName);
  243.     void HppToDestTable();
  244.     void LoadClasses();
  245.     void StringToTablePos(const String SelectedText,
  246.                                     const String ClassName);
  247.     void ConvertTableToTabs();
  248.     void TableToListStrings(const String ClassName);
  249.     void MemberToTable(const String MemberDeclaration,
  250.                 const String MyScope,
  251.                 const String CppClassName,
  252.                 const int MemberLineNumber);
  253.     void LoadCppDef(const String ParamArray[8],
  254.                                         const int ParamQty);
  255.     void ClearTabs();
  256. public:        // User declarations
  257.     __fastcall TMainForm(TComponent* Owner);
  258.     void virtual __fastcall RestrictSize(TMessage& Msg);
  259. BEGIN_MESSAGE_MAP
  260. MESSAGE_HANDLER(WM_GETMINMAXINFO,TMessage,RestrictSize)
  261. // Add any number of additional message handlers here.
  262. END_MESSAGE_MAP(TForm)
  263. };
  264.  
  265.  
  266. // extract class
  267. class TExtractObjects
  268. {
  269. public:
  270.     TExtractObjects();
  271.     void ExtractNameAndType(int StartPosition,
  272.                             int EndPosition,
  273.                             String LineString,
  274.                             String Phase);
  275.     String ObjectName;
  276.     String ObjectType;
  277.     int LastCommaPosition;
  278.  };
  279.  
  280.  // search class
  281.  class TSearchEngine
  282.  {
  283.  public:
  284.      TSearchEngine();
  285.     void SearchForString(String Word,
  286.                 int Occurance, int StartPosition, String Page);
  287.     long PosFound;
  288.     long LineNumFound;
  289.     long LinePosOne;
  290.     long NewSearchPos;
  291.  };
  292.  
  293. //---------------------------------------------------------------------------
  294. extern PACKAGE TMainForm *MainForm;
  295. //---------------------------------------------------------------------------
  296. #endif
  297.