Changeset 651 in dev for trunk/ab5.0/abdev


Ignore:
Timestamp:
Jun 17, 2008, 9:30:54 PM (16 years ago)
Author:
dai_9181
Message:

・BreakPoint周りをリファクタリング
・FileTree周りをリファクタリング

Location:
trunk/ab5.0/abdev/abdev
Files:
1 added
13 edited

Legend:

Unmodified
Added
Removed
  • trunk/ab5.0/abdev/abdev/CFileInfo.cpp

    r620 r651  
    33#include "common.h"
    44
    5 CFileInfo::CFileInfo(char *path,HTREEITEM hTreeItem){
    6     m_path=(char *)HeapAlloc(hHeap,0,lstrlen(path)+1);
    7     lstrcpy(m_path,path);
    8     m_hTreeItem=hTreeItem;
    9 }
    10 CFileInfo::~CFileInfo(){
    11     HeapDefaultFree(m_path);
     5CFileInfo::CFileInfo( const std::string &filepath, HTREEITEM hTreeItem )
     6    : filepath( filepath )
     7    , m_hTreeItem( hTreeItem )
     8{
    129}
    1310void CFileInfo::GetFullPath(char *buffer){
    14     lstrcpy(buffer,m_path);
     11    lstrcpy(buffer,this->GetPath().c_str());
    1512    lstrcpy( buffer, projectInfo.GetWorkDir().GetFullPath( buffer ).c_str() );
    1613}
     
    4643    for(;i<iNum;i++) ppobj_FileInfo[i]=ppobj_FileInfo[i+1];
    4744}
    48 char *CDBFileInfo::GetPath(HTREEITEM hTreeItem){
    49     int i;
    50     for(i=0;i<iNum;i++){
    51         if(ppobj_FileInfo[i]->m_hTreeItem==hTreeItem) break;
     45const std::string &CDBFileInfo::GetPath(HTREEITEM hTreeItem)
     46{
     47    for( int i=0; i<iNum; i++ )
     48    {
     49        if(ppobj_FileInfo[i]->m_hTreeItem==hTreeItem)
     50        {
     51            return ppobj_FileInfo[i]->GetPath();
     52        }
    5253    }
    53     if(i==iNum) return 0;
    54     return ppobj_FileInfo[i]->m_path;
     54
     55    _ASSERTE( false );
     56    throw;
    5557}
    5658BOOL CDBFileInfo::IsMainFile(HTREEITEM hTreeItem){
     
    6870    TV_INSERTSTRUCT tv;
    6971
    70     TreeView_DeleteAllItems(pobj_FileTree->hTree);
     72    pobj_FileTree->DeleteAllItems();
    7173
    7274    tv.hInsertAfter=TVI_SORT;
     
    7779    tv.item.iSelectedImage=0;
    7880    tv.item.pszText="Source Files";
    79     tv.hParent=TreeView_InsertItem(pobj_FileTree->hTree,&tv);
     81    tv.hParent = pobj_FileTree->InsertItem( &tv );
    8082
    8183    int i;
    8284    char temporary[MAX_PATH],temp2[MAX_PATH];
    8385    for(i=0;i<iNum;i++){
    84         _splitpath(ppobj_FileInfo[i]->m_path,0,0,temporary,temp2);
     86        _splitpath(ppobj_FileInfo[i]->GetPath().c_str(),0,0,temporary,temp2);
    8587        lstrcat(temporary,temp2);
    8688        tv.item.iImage=2;
    8789        tv.item.iSelectedImage=2;
    8890        tv.item.pszText=temporary;
    89         ppobj_FileInfo[i]->m_hTreeItem=TreeView_InsertItem(pobj_FileTree->hTree,&tv);
     91        ppobj_FileInfo[i]->m_hTreeItem = pobj_FileTree->InsertItem( &tv );
    9092    }
    9193}
     
    9496    int i;
    9597    for(i=0;i<iNum;i++){
    96         if(lstrcmpi(ppobj_FileInfo[i]->m_path,path)==0){
     98        if(lstrcmpi(ppobj_FileInfo[i]->GetPath().c_str(),path)==0){
    9799            return 1;
    98100        }
  • trunk/ab5.0/abdev/abdev/Common.h

    r629 r651  
    2828#include "BREGEXP.H"
    2929#include "../compiler_x86/CommandValue.h"
    30 
    31 
    32 typedef struct _charrange {
    33     LONG cpMin;
    34     LONG cpMax;
    35 } CHARRANGE;
    3630
    3731
     
    413407
    414408class CFileInfo{
     409    std::string filepath;
    415410public:
    416     char *m_path;
    417411    HTREEITEM m_hTreeItem;
    418     CFileInfo(char *path,HTREEITEM hTreeItem);
    419     ~CFileInfo();
     412    CFileInfo( const std::string &filepath, HTREEITEM hTreeItem );
     413
     414    const std::string &GetPath() const
     415    {
     416        return filepath;
     417    }
    420418
    421419    void GetFullPath(char *buffer);
     
    431429    void add(char *path,HTREEITEM hTreeItem);
    432430    void del(HTREEITEM hTreeItem);
    433     char *GetPath(HTREEITEM hTreeItem);
     431    const std::string &GetPath(HTREEITEM hTreeItem);
    434432    BOOL IsMainFile(HTREEITEM hTreeItem);
    435433
     
    648646BOOL GetFilePathDialog(HWND hwnd,char *filename,LPSTR Filter,LPSTR Title,_int8 IsOpen);
    649647BOOL GetFolder(HWND hWnd,char *folder,char *OpenFolderTitle);
    650 int GetFileExtension(char *path);
     648int GetFileExtension( const char *path );
    651649HWND OpenFileWithExtension( const std::string &filePath );
    652650BOOL SaveDocument(HWND hChild,char *SaveFileName);
  • trunk/ab5.0/abdev/abdev/Debugger.cpp

    r629 r651  
    281281//////////////////////////
    282282
    283 CFileBreakPoint::CFileBreakPoint(const char *lpszFileName,int iLineNum){
     283BreakPointsPerFile::BreakPointsPerFile(const char *lpszFileName,int iLineNum){
    284284    this->lpszFileName=(char *)HeapAlloc(hHeap,0,lstrlen(lpszFileName)+1);
    285285    lstrcpy(this->lpszFileName,lpszFileName);
     
    289289    num=1;
    290290}
    291 CFileBreakPoint::~CFileBreakPoint(){
     291BreakPointsPerFile::~BreakPointsPerFile(){
    292292    HeapDefaultFree(lpszFileName);
    293293    HeapDefaultFree(piLine);
    294294}
    295 void CFileBreakPoint::add(int iLineNum){
     295void BreakPointsPerFile::add(int iLineNum){
    296296    piLine=(int *)HeapReAlloc(hHeap,0,piLine,(num+1)*sizeof(int));
    297297
     
    309309    num++;
    310310}
    311 void CFileBreakPoint::remove(int iLineNum){
     311void BreakPointsPerFile::remove(int iLineNum){
    312312    int i;
    313313    for(i=0;i<num;i++){
     
    321321    }
    322322}
    323 BOOL CFileBreakPoint::check(int iLineNum){
     323BOOL BreakPointsPerFile::check(int iLineNum){
    324324    int i;
    325325    for(i=0;i<num;i++){
     
    329329}
    330330
    331 void CFileBreakPoint::replace(LPSTR lpszBuffer,CHARRANGE *pDelRange,CHARRANGE *pRange,LPSTR lpszNewStr){
     331void BreakPointsPerFile::replace(LPSTR lpszBuffer,CHARRANGE *pDelRange,CHARRANGE *pRange,LPSTR lpszNewStr){
    332332    int i;
    333333
     
    379379
    380380CDBBreakPoint::CDBBreakPoint(){
    381     ppItem=(CFileBreakPoint **)HeapAlloc(hHeap,0,1);
     381    ppItem=(BreakPointsPerFile **)HeapAlloc(hHeap,0,1);
    382382    num=0;
    383383}
     
    399399
    400400    if(i==num){
    401         ppItem=(CFileBreakPoint **)HeapReAlloc(hHeap,0,ppItem,(num+1)*sizeof(CFileBreakPoint *));
    402         ppItem[num]=new CFileBreakPoint(lpszFileName,iLineNum);
     401        ppItem=(BreakPointsPerFile **)HeapReAlloc(hHeap,0,ppItem,(num+1)*sizeof(BreakPointsPerFile *));
     402        ppItem[num]=new BreakPointsPerFile(lpszFileName,iLineNum);
    403403        num++;
    404404    }
     
    503503
    504504
    505 CFileBreakPoint *CDBBreakPoint::EnumLines(const char *lpszFilePath){
     505BreakPointsPerFile *CDBBreakPoint::EnumLines(const char *lpszFilePath){
    506506    int i;
    507507    for(i=0;i<num;i++){
  • trunk/ab5.0/abdev/abdev/Debugger.h

    r625 r651  
    4646/////////////////////////////////
    4747
    48 class CFileBreakPoint{
     48class BreakPointsPerFile{
    4949public:
    5050    char *lpszFileName;
     
    5353    int num;
    5454
    55     CFileBreakPoint(const char *lpszFileName,int iLineNum);
    56     ~CFileBreakPoint();
     55    BreakPointsPerFile(const char *lpszFileName,int iLineNum);
     56    ~BreakPointsPerFile();
    5757
    5858    void add(int iLineNum);
     
    6565
    6666class CDBBreakPoint{
    67     CFileBreakPoint **ppItem;
     67    BreakPointsPerFile **ppItem;
    6868    int num;
    6969
     
    7878    void SaveToTempFile(void);
    7979
    80     CFileBreakPoint *EnumLines(const char *lpszFilePath);
     80    BreakPointsPerFile *EnumLines(const char *lpszFilePath);
    8181
    8282    void replace(const char *lpszFilePath,LPSTR lpszBuffer,CHARRANGE *pDelRange,CHARRANGE *pRange,LPSTR lpszNewStr);
  • trunk/ab5.0/abdev/abdev/DrawBuffer.cpp

    r629 r651  
    190190
    191191            //ブレークポイントの描画を準備
    192             CFileBreakPoint *pobj_FileBreakPoint=0;
     192            BreakPointsPerFile *pobj_FileBreakPoint=0;
    193193            if( projectInfo.IsOpened() ){
    194194                pobj_FileBreakPoint=
  • trunk/ab5.0/abdev/abdev/FileOperation.cpp

    r629 r651  
    271271}
    272272
    273 int GetFileExtension(char *path){
     273int GetFileExtension( const char *path )
     274{
    274275    char temporary[MAX_PATH];
    275276    _splitpath(path,0,0,0,temporary);
  • trunk/ab5.0/abdev/abdev/FileTree.cpp

    r620 r651  
    33#include "common.h"
    44
    5 CFileTree *pobj_FileTree;
     5FileListTreeViewCtrl *pobj_FileTree;
    66
    77WNDPROC OldFileTreeViewProc;
     
    1717    switch(message){
    1818        case WM_INITDIALOG:
    19             SetPosCenter(hwnd);
    20 
    21             hTreeItem=TreeView_GetSelection(pobj_FileTree->hTree);
    22 
    23             char *path;
    24             path=projectInfo.pobj_DBFileInfo->GetPath(hTreeItem);
    25 
    26             //絶対パス、相対パスを表示
    27             lstrcpy(temporary,path);
    28             lstrcpy( temporary, projectInfo.GetWorkDir().GetFullPath( temporary ).c_str() );
    29             SetDlgItemText(hwnd,IDC_USING_FILE,temporary);
    30             SetDlgItemText(hwnd,IDC_DEFINED_FILE,path);
    31 
    32             //最終更新日時を表示
    33             hFile=CreateFile(temporary,GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
    34             if(hFile==INVALID_HANDLE_VALUE){
    35                 //"エラー"
    36                 lstrcpy(temporary,STRING_ERROR);
    37             }
    38             else{
    39                 GetFileTime(hFile,NULL,NULL,&LastWriteTime);
    40                 FileTimeToLocalFileTime(&LastWriteTime,&LocalTime);
    41                 FileTimeToSystemTime(&LocalTime,&SystemTime);
    42                 if(SystemTime.wHour>=12){
    43                     //"午後 "
    44                     lstrcpy(temporary,STRING_AFTERNOON);
    45                     lstrcat(temporary," ");
    46                     SystemTime.wHour-=12;
     19            {
     20                SetPosCenter(hwnd);
     21
     22                hTreeItem = pobj_FileTree->GetSelectedItem();
     23
     24                std::string tempPath = projectInfo.pobj_DBFileInfo->GetPath(hTreeItem);
     25
     26                //絶対パス、相対パスを表示
     27                lstrcpy( temporary, tempPath.c_str() );
     28                lstrcpy( temporary, projectInfo.GetWorkDir().GetFullPath( temporary ).c_str() );
     29                SetDlgItemText(hwnd,IDC_USING_FILE,temporary);
     30                SetDlgItemText(hwnd,IDC_DEFINED_FILE,tempPath.c_str());
     31
     32                //最終更新日時を表示
     33                hFile=CreateFile(temporary,GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
     34                if(hFile==INVALID_HANDLE_VALUE){
     35                    //"エラー"
     36                    lstrcpy(temporary,STRING_ERROR);
    4737                }
    4838                else{
    49                     //"午前 "
    50                     lstrcpy(temporary,STRING_MORNING);
    51                     lstrcat(temporary," ");
     39                    GetFileTime(hFile,NULL,NULL,&LastWriteTime);
     40                    FileTimeToLocalFileTime(&LastWriteTime,&LocalTime);
     41                    FileTimeToSystemTime(&LocalTime,&SystemTime);
     42                    if(SystemTime.wHour>=12){
     43                        //"午後 "
     44                        lstrcpy(temporary,STRING_AFTERNOON);
     45                        lstrcat(temporary," ");
     46                        SystemTime.wHour-=12;
     47                    }
     48                    else{
     49                        //"午前 "
     50                        lstrcpy(temporary,STRING_MORNING);
     51                        lstrcat(temporary," ");
     52                    }
     53                    sprintf(temporary+5,"%02d:%02d:%02d %04d/%02d/%02d",
     54                        SystemTime.wHour,SystemTime.wMinute,SystemTime.wSecond,
     55                        SystemTime.wYear,SystemTime.wMonth,SystemTime.wDay);
     56                    CloseHandle(hFile);
    5257                }
    53                 sprintf(temporary+5,"%02d:%02d:%02d %04d/%02d/%02d",
    54                     SystemTime.wHour,SystemTime.wMinute,SystemTime.wSecond,
    55                     SystemTime.wYear,SystemTime.wMonth,SystemTime.wDay);
    56                 CloseHandle(hFile);
    57             }
    58             SetDlgItemText(hwnd,IDC_UPDATE_TIME,temporary);
    59 
    60 
    61             //////////////
    62             // 形式を表示
    63             //////////////
    64             i=GetFileExtension(path);
    65 
    66             //"Basic プログラム"
    67             if(i==FT_BASICPROGRAM) lstrcpy(temporary,STRING_FILETYPE_BASICPROGRAM);
    68             //"サブ プログラム"
    69             else if(i==FT_SUBPROGRAM) lstrcpy(temporary,STRING_FILETYPE_SUBPROGRAM);
    70             //"テキスト ドキュメント"
    71             else if(i==FT_TEXT) lstrcpy(temporary,STRING_FILETYPE_TEXT);
    72             //"判別できません"
    73             else lstrcpy(temporary,STRING_FILETYPE_UNKNOWN);
    74 
    75             SetDlgItemText(hwnd,IDC_FILETYPE,temporary);
    76 
    77             break;
     58                SetDlgItemText(hwnd,IDC_UPDATE_TIME,temporary);
     59
     60
     61                //////////////
     62                // 形式を表示
     63                //////////////
     64                i=GetFileExtension(tempPath.c_str());
     65
     66                //"Basic プログラム"
     67                if(i==FT_BASICPROGRAM) lstrcpy(temporary,STRING_FILETYPE_BASICPROGRAM);
     68                //"サブ プログラム"
     69                else if(i==FT_SUBPROGRAM) lstrcpy(temporary,STRING_FILETYPE_SUBPROGRAM);
     70                //"テキスト ドキュメント"
     71                else if(i==FT_TEXT) lstrcpy(temporary,STRING_FILETYPE_TEXT);
     72                //"判別できません"
     73                else lstrcpy(temporary,STRING_FILETYPE_UNKNOWN);
     74
     75                SetDlgItemText(hwnd,IDC_FILETYPE,temporary);
     76
     77                break;
     78            }
    7879        case WM_COMMAND:
    7980            switch(LOWORD(wParam)){
     
    9394    HTREEITEM hTreeItem;
    9495    char temporary[MAX_PATH];
    95     char *path;
    9696    switch(message){
    9797        case WM_COMMAND:
     
    104104                    break;
    105105                case IDM_FILETREE_OPEN:
    106                     hTreeItem=TreeView_GetSelection(hwnd);
    107 
    108                     path=projectInfo.pobj_DBFileInfo->GetPath(hTreeItem);
    109                     if(!path) break;
    110 
    111                     lstrcpy(temporary,path);
    112                     lstrcpy( temporary, projectInfo.GetWorkDir().GetFullPath( temporary ).c_str() );
    113                     OpenFileWithExtension(temporary);
    114                     break;
     106                    {
     107                        hTreeItem=TreeView_GetSelection(hwnd);
     108
     109                        std::string tempPath = projectInfo.pobj_DBFileInfo->GetPath(hTreeItem);
     110
     111                        lstrcpy( temporary, tempPath.c_str() );
     112                        lstrcpy( temporary, projectInfo.GetWorkDir().GetFullPath( temporary ).c_str() );
     113                        OpenFileWithExtension(temporary);
     114                        break;
     115                    }
    115116                case IDM_FILETREE_DELETE:
    116117                    hTreeItem=TreeView_GetSelection(hwnd);
     
    141142}
    142143
    143 CFileTree::CFileTree(HWND hParent){
    144     hTree=CreateWindowEx(WS_EX_CLIENTEDGE,WC_TREEVIEW,"",
    145         WS_CHILD|TVS_HASLINES|TVS_HASBUTTONS|TVS_LINESATROOT|TVS_SHOWSELALWAYS,
    146         0,0,0,0,
    147         hParent,0,hInst,0);
    148     OldFileTreeViewProc=(WNDPROC)GetWindowLongPtr(hTree,GWLP_WNDPROC);
    149     SetWindowLongPtr(hTree,GWLP_WNDPROC,(long)FileTreeViewProc);
     144FileListTreeViewCtrl::FileListTreeViewCtrl( HWND hParent )
     145    : CTreeViewCtrl()
     146{
     147    this->Create( hParent, NULL, NULL,
     148        WS_CHILD | TVS_HASBUTTONS | TVS_HASLINES | TVS_LINESATROOT | TVS_SHOWSELALWAYS,
     149        WS_EX_CLIENTEDGE
     150    );
     151
     152    OldFileTreeViewProc=(WNDPROC)this->GetWindowLongPtr(GWLP_WNDPROC);
     153    this->SetWindowLongPtr(GWLP_WNDPROC,(long)FileTreeViewProc);
    150154
    151155    //イメージリスト読み込み、設定
     
    154158    ImageList_AddIcon(hImageList,LoadIcon(hResInst,MAKEINTRESOURCE(IDI_FOLDER_OPEN)));
    155159    ImageList_AddIcon(hImageList,LoadIcon(hResInst,MAKEINTRESOURCE(IDI_TEXTDOCUMENT)));
    156     TreeView_SetImageList(hTree,hImageList,TVSIL_NORMAL);
    157 }
    158 CFileTree::~CFileTree(){
    159     DestroyWindow(hTree);
     160    this->SetImageList(hImageList,TVSIL_NORMAL);
     161}
     162FileListTreeViewCtrl::~FileListTreeViewCtrl()
     163{
     164    this->DestroyWindow();
    160165    ImageList_Destroy(hImageList);
    161166}
    162167
    163 void CFileTree::ContextMenu(POINT *pPos){
     168void FileListTreeViewCtrl::ContextMenu(POINT *pPos)
     169{
    164170    //右クリックによるメニューを表示
    165171    TV_HITTESTINFO tvHitTestInfo;
    166172    tvHitTestInfo.pt=*pPos;
    167     ScreenToClient(hTree,&tvHitTestInfo.pt);
    168 
    169     HTREEITEM hTreeItem;
    170     hTreeItem=TreeView_HitTest(hTree,&tvHitTestInfo);
     173    this->ScreenToClient(&tvHitTestInfo.pt);
     174
     175    HTREEITEM hTreeItem = this->HitTest(&tvHitTestInfo);
    171176    if(hTreeItem){
    172         TreeView_SelectItem(hTree,hTreeItem);
     177        this->SelectItem(hTreeItem);
    173178
    174179        extern HMENU hFileTreeMenuBase;
    175         if(TreeView_GetRoot(hTree)==hTreeItem)
    176             TrackPopupMenu(GetSubMenu(hFileTreeMenuBase,0),TPM_LEFTALIGN,pPos->x,pPos->y,0,hTree,0);
    177         else TrackPopupMenu(GetSubMenu(hFileTreeMenuBase,1),TPM_LEFTALIGN,pPos->x,pPos->y,0,hTree,0);
     180        if(this->GetRootItem()==hTreeItem)
     181        {
     182            TrackPopupMenu(GetSubMenu(hFileTreeMenuBase,0),TPM_LEFTALIGN,pPos->x,pPos->y,0,this->m_hWnd,0);
     183        }
     184        else
     185        {
     186            TrackPopupMenu(GetSubMenu(hFileTreeMenuBase,1),TPM_LEFTALIGN,pPos->x,pPos->y,0,this->m_hWnd,0);
     187        }
    178188    }
    179189}
    180190
    181 HTREEITEM CFileTree::insert(char *str){
     191HTREEITEM FileListTreeViewCtrl::insert(char *str){
    182192    //////////////////////
    183193    //ツリービューに追加
     
    188198    tv.item.iImage=2;
    189199    tv.item.iSelectedImage=2;
    190     tv.hParent=TreeView_GetRoot(hTree);
     200    tv.hParent=this->GetRootItem();
    191201    tv.item.pszText=str;
    192202
    193     return TreeView_InsertItem(hTree,&tv);
    194 }
    195 
    196 void CFileTree::resize(int x,int y,int cx,int cy){
    197     MoveWindow(hTree,x,y,cx,cy,1);
    198 }
     203    return this->InsertItem(&tv);
     204}
  • trunk/ab5.0/abdev/abdev/FileTree.h

    r3 r651  
    11
    22
    3 class CFileTree{
     3class FileListTreeViewCtrl
     4    : public CTreeViewCtrl
     5{
    46    HIMAGELIST hImageList;
    57public:
    6     HWND hTree;
    7     CFileTree(HWND hParent);
    8     ~CFileTree();
     8    FileListTreeViewCtrl(HWND hParent);
     9    ~FileListTreeViewCtrl();
    910
    1011    void ContextMenu(POINT *pPos);
    1112
    1213    HTREEITEM insert(char *str);
    13 
    14     void resize(int x,int y,int cx,int cy);
    1514};
    1615
    17 extern CFileTree *pobj_FileTree;
     16extern FileListTreeViewCtrl *pobj_FileTree;
  • trunk/ab5.0/abdev/abdev/ParameterHint.cpp

    r629 r651  
    3535    if( projectInfo.IsOpened() ){
    3636        //プロジェクトが開かれているとき
    37         lstrcpy(temporary,projectInfo.pobj_DBFileInfo->ppobj_FileInfo[0]->m_path);
     37        lstrcpy(temporary,projectInfo.pobj_DBFileInfo->ppobj_FileInfo[0]->GetPath().c_str());
    3838        lstrcpy( temporary, projectInfo.GetWorkDir().GetFullPath( temporary ).c_str() );
    3939
  • trunk/ab5.0/abdev/abdev/ProjectControl.cpp

    r629 r651  
    135135                                // 対象ファイルを開く
    136136                                lstrcpy(temporary,
    137                                     projectInfo.pobj_DBFileInfo->ppobj_FileInfo[pobj_ClassTreeView->pProcInfo[i].FileNum]->m_path);
     137                                    projectInfo.pobj_DBFileInfo->ppobj_FileInfo[pobj_ClassTreeView->pProcInfo[i].FileNum]->GetPath().c_str());
    138138                                lstrcpy( temporary, projectInfo.GetWorkDir().GetFullPath( temporary ).c_str() );
    139139                                hChild=OpenFileWithExtension(temporary);
     
    403403void ShowFileView(){
    404404    TabCtrl_SetCurSel(hProjectViewTab,0);
    405     ShowWindow(pobj_FileTree->hTree,SW_SHOW);
     405    pobj_FileTree->ShowWindow( SW_SHOW );
    406406    ShowWindow(hProcedureTreeView,SW_HIDE);
    407407    ShowWindow(hMaterialTreeView,SW_HIDE);
     
    409409void ShowClassView(){
    410410    TabCtrl_SetCurSel(hProjectViewTab,1);
    411     ShowWindow(pobj_FileTree->hTree,SW_HIDE);
     411    pobj_FileTree->ShowWindow( SW_HIDE );
    412412    ShowWindow(hMaterialTreeView,SW_HIDE);
    413413    ShowWindow(hProcedureTreeView,SW_SHOW);
     
    415415void ShowMaterialView(){
    416416    TabCtrl_SetCurSel(hProjectViewTab,2);
    417     ShowWindow(pobj_FileTree->hTree,SW_HIDE);
     417    pobj_FileTree->ShowWindow( SW_HIDE );
    418418    ShowWindow(hProcedureTreeView,SW_HIDE);
    419419    ShowWindow(hMaterialTreeView,SW_SHOW);
     
    455455
    456456            //ファイルツリービューを作成
    457             pobj_FileTree=new CFileTree(hProjectViewTab);
     457            pobj_FileTree = new FileListTreeViewCtrl( hProjectViewTab );
    458458
    459459            //クラスツリービューを作成
     
    494494            TreeView_SetImageList(hMaterialTreeView,hMaterialTreeViewImageList,TVSIL_NORMAL);
    495495
    496             ShowWindow(pobj_FileTree->hTree,SW_SHOW);
     496            pobj_FileTree->ShowWindow( SW_SHOW );
    497497            GetClientRect(hwnd,&rect);
    498498            SendMessage(hwnd,WM_SIZE,0,MAKELONG(rect.right,rect.bottom));
     
    605605                rect.bottom++;
    606606
    607                 pobj_FileTree->resize(rect.left,rect.top,rect.right-rect.left,rect.bottom-rect.top);
     607                pobj_FileTree->MoveWindow(rect.left,rect.top,rect.right-rect.left,rect.bottom-rect.top);
    608608                MoveWindow(hProcedureTreeView,
    609609                    rect.left,rect.top,rect.right-rect.left,rect.bottom-rect.top,1);
     
    623623                TabCtrl_AdjustRect(hProjectViewTab,FALSE,&rect);
    624624
    625                 pobj_FileTree->resize(rect.left,rect.top,rect.right-rect.left,rect.bottom-rect.top);
     625                pobj_FileTree->MoveWindow(rect.left,rect.top,rect.right-rect.left,rect.bottom-rect.top);
    626626                MoveWindow(hProcedureTreeView,
    627627                    rect.left,rect.top,rect.right-rect.left,rect.bottom-rect.top,1);
     
    687687
    688688    //ツリービューから削除
    689     TreeView_DeleteItem(pobj_FileTree->hTree,hTreeItem);
     689    pobj_FileTree->DeleteItem( hTreeItem );
    690690
    691691    //projectInfo.pobj_DBFileInfoオブジェクトから削除
     
    14071407                temporary[i2]=buffer[i];
    14081408            }
    1409             if(temporary[0]=='1') TreeView_Expand(pobj_FileTree->hTree,TreeView_GetRoot(pobj_FileTree->hTree),TVE_EXPAND);
     1409            if(temporary[0]=='1')
     1410            {
     1411                pobj_FileTree->Expand( pobj_FileTree->GetRootItem(), TVE_EXPAND );
     1412            }
    14101413
    14111414            for(i+=2,i2=0;;i++,i2++){
     
    15291532                temporary[i2]=buffer[i];
    15301533            }
    1531             if(temporary[0]=='1') TreeView_Expand(pobj_FileTree->hTree,TreeView_GetRoot(pobj_FileTree->hTree),TVE_EXPAND);
     1534            if(temporary[0]=='1')
     1535            {
     1536                pobj_FileTree->Expand( pobj_FileTree->GetRootItem(), TVE_EXPAND );
     1537            }
    15321538
    15331539            for(i+=2,i2=0;;i++,i2++){
     
    16641670
    16651671                    sprintf(buffer+i2,"text,\"%s\",%d,%d,%d,%d\r\n",
    1666                         projectInfo.pobj_DBFileInfo->ppobj_FileInfo[i]->m_path,
     1672                        projectInfo.pobj_DBFileInfo->ppobj_FileInfo[i]->GetPath().c_str(),
    16671673                        pos.x,
    16681674                        pos.y,
     
    17181724    memset(&tvItem,0,sizeof(TVITEM));
    17191725    tvItem.mask=TVIF_HANDLE|TVIF_STATE;
    1720     tvItem.hItem=TreeView_GetRoot(pobj_FileTree->hTree);
    1721     TreeView_GetItem(pobj_FileTree->hTree,&tvItem);
     1726    tvItem.hItem = pobj_FileTree->GetRootItem();
     1727    pobj_FileTree->GetItem( &tvItem );
    17221728    if(tvItem.state&TVIS_EXPANDED) i=1;
    17231729    else i=0;
  • trunk/ab5.0/abdev/abdev/abdev.vcproj

    r629 r651  
    28142814                Name="ProjectManager"
    28152815                >
     2816                <File
     2817                    RelativePath=".\include\ProjectManager\FileManager.h"
     2818                    >
     2819                </File>
    28162820                <File
    28172821                    RelativePath=".\include\ProjectManager\ProjectManager.h"
  • trunk/ab5.0/abdev/abdev/src/ProjectManager/ProjectManager.cpp

    r629 r651  
    343343    i2+=lstrlen(buffer+i2);
    344344    for(i=0;i<this->pobj_DBFileInfo->iNum;i++){
    345         sprintf(buffer+i2,"%s\r\n",this->pobj_DBFileInfo->ppobj_FileInfo[i]->m_path);
     345        sprintf(buffer+i2,"%s\r\n",this->pobj_DBFileInfo->ppobj_FileInfo[i]->GetPath().c_str());
    346346        i2+=lstrlen(buffer+i2);
    347347    }
     
    476476        for(i=1;i<this->pobj_DBFileInfo->iNum;i++){
    477477            //メインファイルは含まない
    478             sprintf(buffer+i2,"#include \"%s\"\r\n",this->pobj_DBFileInfo->ppobj_FileInfo[i]->m_path);
     478            sprintf(buffer+i2,"#include \"%s\"\r\n",this->pobj_DBFileInfo->ppobj_FileInfo[i]->GetPath().c_str());
    479479            i2+=lstrlen(buffer+i2);
    480480            lstrcpy(buffer+i2,"_ClearNamespaceImported\r\n");
     
    624624    extern HWND hProcedureTreeView;
    625625    extern HWND hMaterialTreeView;
    626     TreeView_DeleteAllItems(pobj_FileTree->hTree);
     626    pobj_FileTree->DeleteAllItems();
    627627    TreeView_DeleteAllItems(hProcedureTreeView);
    628628    TreeView_DeleteAllItems(hMaterialTreeView);
  • trunk/ab5.0/abdev/abdev/stdafx.h

    r615 r651  
    2626#include <atlcrack.h>
    2727#include <atlmisc.h>
     28#include <atlctrls.h>
    2829
    2930//boost libraries
     
    5657#include "Common.h"
    5758
     59#include <ProjectManager/FileManager.h>
    5860#include <ProjectManager/ProjectManager.h>
Note: See TracChangeset for help on using the changeset viewer.