Ignore:
Timestamp:
Jun 2, 2008, 11:50:24 PM (16 years ago)
Author:
dai_9181
Message:

MDIINFO構造体をリファクタリング。

File:
1 edited

Legend:

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

    r625 r629  
    99    CHARRANGE Range,cr2;
    1010
    11     pBuf=MdiInfo[WndNum].pMdiTextEdit->buffer;
     11    pBuf=MdiInfo[WndNum]->pMdiTextEdit->buffer;
    1212
    1313    //行の先頭位置を取得
     
    3131    //初期化(すべて黒色に戻す)
    3232    for(i=Range.cpMin;i<Range.cpMax;i++){
    33         MdiInfo[WndNum].pMdiTextEdit->pColorRef[i]=tci.rgbDefault;
     33        MdiInfo[WndNum]->pMdiTextEdit->pColorRef[i]=tci.rgbDefault;
    3434    }
    3535
     
    6060            if(bResult){
    6161                for(i2=cr2.cpMin;i2<cr2.cpMax;i2++){
    62                     MdiInfo[WndNum].pMdiTextEdit->pColorRef[i2]=tci.rgbStatement;
     62                    MdiInfo[WndNum]->pMdiTextEdit->pColorRef[i2]=tci.rgbStatement;
    6363                }
    6464            }
     
    6666        if(IsStr||pBuf[i]=='\"'&&IsStr==0){
    6767            //文字列カラー(""で囲まれる範囲)
    68             MdiInfo[WndNum].pMdiTextEdit->pColorRef[i]=tci.rgbString;
     68            MdiInfo[WndNum]->pMdiTextEdit->pColorRef[i]=tci.rgbString;
    6969        }
    7070        if(pBuf[i]=='\0') break;
     
    9090    //バッファ長を取得
    9191    int length;
    92     length=lstrlen(MdiInfo[WndNum].pMdiTextEdit->buffer);
     92    length=lstrlen(MdiInfo[WndNum]->pMdiTextEdit->buffer);
    9393
    9494    int delta;
     
    9999        ////////////////////
    100100
    101         MdiInfo[WndNum].pMdiTextEdit->buffer=(char *)HeapReAlloc(hHeap,
     101        MdiInfo[WndNum]->pMdiTextEdit->buffer=(char *)HeapReAlloc(hHeap,
    102102            0,
    103             MdiInfo[WndNum].pMdiTextEdit->buffer,
     103            MdiInfo[WndNum]->pMdiTextEdit->buffer,
    104104            length+1+delta);
    105105
    106         MdiInfo[WndNum].pMdiTextEdit->pColorRef=(COLORREF *)HeapReAlloc(hHeap,
     106        MdiInfo[WndNum]->pMdiTextEdit->pColorRef=(COLORREF *)HeapReAlloc(hHeap,
    107107            0,
    108             MdiInfo[WndNum].pMdiTextEdit->pColorRef,
     108            MdiInfo[WndNum]->pMdiTextEdit->pColorRef,
    109109            (length+1+delta)*sizeof(COLORREF));
    110110    }
     
    114114    if( projectInfo.IsOpened() ){
    115115        projectInfo.pobj_DBBreakPoint->replace(
    116             MdiInfo[WndNum].path.c_str(),
    117             MdiInfo[WndNum].pMdiTextEdit->buffer,
     116            MdiInfo[WndNum]->path.c_str(),
     117            MdiInfo[WndNum]->pMdiTextEdit->buffer,
    118118            &DelRange,
    119119            &Range,
     
    123123        extern CDBBreakPoint *pobj_DBBreakPoint;
    124124        pobj_DBBreakPoint->replace(
    125             MdiInfo[WndNum].path.c_str(),
    126             MdiInfo[WndNum].pMdiTextEdit->buffer,
     125            MdiInfo[WndNum]->path.c_str(),
     126            MdiInfo[WndNum]->pMdiTextEdit->buffer,
    127127            &DelRange,
    128128            &Range,
     
    132132
    133133    //文字列バッファをスライドして、挿入
    134     SlideString(MdiInfo[WndNum].pMdiTextEdit->buffer+DelRange.cpMax,
     134    SlideString(MdiInfo[WndNum]->pMdiTextEdit->buffer+DelRange.cpMax,
    135135        delta);
    136     memcpy(MdiInfo[WndNum].pMdiTextEdit->buffer+Range.cpMin,str,lstrlen(str));
     136    memcpy(MdiInfo[WndNum]->pMdiTextEdit->buffer+Range.cpMin,str,lstrlen(str));
    137137
    138138    //文字カラーバッファをスライド
    139     SlideBuffer(((char *)MdiInfo[WndNum].pMdiTextEdit->pColorRef)+DelRange.cpMax*sizeof(COLORREF),
     139    SlideBuffer(((char *)MdiInfo[WndNum]->pMdiTextEdit->pColorRef)+DelRange.cpMax*sizeof(COLORREF),
    140140        (length-DelRange.cpMax) * sizeof(COLORREF),
    141141        delta*sizeof(COLORREF));
    142142    //色づけ
    143     TextEdit_ResetWordColor(WndNum,&Range,MdiInfo[WndNum].DocType);
     143    TextEdit_ResetWordColor(WndNum,&Range,MdiInfo[WndNum]->DocType);
    144144
    145145    //新しいキャレット位置に変更
    146     GetCaretPosFromBufferIndex(MdiInfo[WndNum].pMdiTextEdit->buffer,
     146    GetCaretPosFromBufferIndex(MdiInfo[WndNum]->pMdiTextEdit->buffer,
    147147        Range.cpMax,
    148         &MdiInfo[WndNum].pMdiTextEdit->StartCaretPos);
    149     MdiInfo[WndNum].pMdiTextEdit->EndCaretPos=MdiInfo[WndNum].pMdiTextEdit->StartCaretPos;
     148        &MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos);
     149    MdiInfo[WndNum]->pMdiTextEdit->EndCaretPos=MdiInfo[WndNum]->pMdiTextEdit->StartCaretPos;
    150150
    151151    //コントロールタブスペースの幅と行番号の文字数を更新
    152     MdiInfo[WndNum].pMdiTextEdit->iWidth_ControlTabSpace=
    153         GetControlTabSpace(WndNum,&MdiInfo[WndNum].pMdiTextEdit->iLineNumberTextCount);
     152    MdiInfo[WndNum]->pMdiTextEdit->iWidth_ControlTabSpace=
     153        GetControlTabSpace(WndNum,&MdiInfo[WndNum]->pMdiTextEdit->iLineNumberTextCount);
    154154
    155155    if(bRedraw){
     
    159159
    160160        if(!TextEdit_ScrollCaret(WndNum,0)){
    161             UpdateWindow(MdiInfo[WndNum].pMdiTextEdit->hEdit);  //ちらつき防止
    162             InvalidateRect(MdiInfo[WndNum].pMdiTextEdit->hEdit,NULL,0);
     161            UpdateWindow(MdiInfo[WndNum]->pMdiTextEdit->hEdit); //ちらつき防止
     162            InvalidateRect(MdiInfo[WndNum]->pMdiTextEdit->hEdit,NULL,0);
    163163        }
    164164
     
    167167
    168168    //上下キャレット移動時の左右位置保持機能を解除
    169     MdiInfo[WndNum].pMdiTextEdit->Temp_UpDown_CaretXPos=-1;
     169    MdiInfo[WndNum]->pMdiTextEdit->Temp_UpDown_CaretXPos=-1;
    170170
    171171    //編集メニューをリセット
    172172    ResetState_EditMenu();
    173173
    174     if( ! MdiInfo[WndNum].pMdiTextEdit->IsModified() ){
     174    if( ! MdiInfo[WndNum]->pMdiTextEdit->IsModified() ){
    175175        //変更フラグをセット
    176         MdiInfo[WndNum].pMdiTextEdit->Modify();
     176        MdiInfo[WndNum]->pMdiTextEdit->Modify();
    177177    }
    178178
     
    180180    //if( projectInfo.IsOpened() ){
    181181        //プロジェクトが開かれているとき
    182         if(MdiInfo[WndNum].DocType==WNDTYPE_BASIC){
     182        if(MdiInfo[WndNum]->DocType==WNDTYPE_BASIC){
    183183            //クラスツリーを再表示
    184184            ResetClassTree(GetFileNum(WndNum));
     
    193193    CHARRANGE Range,DelRange;
    194194
    195     if(MdiInfo[WndNum].IndentStr){
     195    if(MdiInfo[WndNum]->IndentStr){
    196196        //自動インデントを有効にする
    197         lstrcpy(temporary,MdiInfo[WndNum].IndentStr);
     197        lstrcpy(temporary,MdiInfo[WndNum]->IndentStr);
    198198
    199199        CancelBeforeAutoIndent(WndNum);
     
    246246#endif
    247247        char *pBuf;
    248         pBuf=MdiInfo[WndNum].pMdiTextEdit->buffer;
     248        pBuf=MdiInfo[WndNum]->pMdiTextEdit->buffer;
    249249
    250250        //行全体を選択(min)
     
    271271    buffer=(char *)HeapAlloc(hHeap,0,length*3+1024);
    272272    temporary=(char *)HeapAlloc(hHeap,0,length*3+1024);
    273     memcpy(buffer,MdiInfo[WndNum].pMdiTextEdit->buffer+CharRange.cpMin,length);
     273    memcpy(buffer,MdiInfo[WndNum]->pMdiTextEdit->buffer+CharRange.cpMin,length);
    274274    buffer[length]=0;
    275275
Note: See TracChangeset for help on using the changeset viewer.