223 lines
8.2 KiB
C++
223 lines
8.2 KiB
C++
/*
|
|
*=======================================================================================
|
|
* Name :dlgconfl.h
|
|
*
|
|
* Author :vincent lhullier Date :21/07/97
|
|
*
|
|
* Description :implementation of dialog box to show section differences
|
|
*=======================================================================================
|
|
* Modification -> Author : Date :
|
|
* Description :
|
|
*=======================================================================================
|
|
*/
|
|
|
|
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
|
|
#if !defined(AFX_DLGCONFL_H__6184144B_0199_11D1_8EF9_00609736731A__INCLUDED_)
|
|
#define AFX_DLGCONFL_H__6184144B_0199_11D1_8EF9_00609736731A__INCLUDED_
|
|
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
|
|
#if _MSC_VER >= 1000
|
|
#pragma once
|
|
#endif // _MSC_VER >= 1000
|
|
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
|
|
#include "resource.h"
|
|
#include "MajData.h"
|
|
#include "SCR.h"
|
|
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
|
|
|
|
/*
|
|
=======================================================================================
|
|
=======================================================================================
|
|
PART of code to decompose a file/section into a tree of section
|
|
=======================================================================================
|
|
=======================================================================================
|
|
*/
|
|
|
|
/*
|
|
=======================================================================================
|
|
Constant
|
|
=======================================================================================
|
|
*/
|
|
#define SCRT_C_cNew 0
|
|
#define SCRT_C_cDiff 1
|
|
#define SCRT_C_cSame 2
|
|
#define SCRT_C_cNewVss 3
|
|
#define SCRT_C_cNewLocal 4
|
|
#define SCRT_C_cComment 5
|
|
|
|
#define SCRT_C_cSection 0
|
|
#define SCRT_C_cEntry 1
|
|
|
|
/*
|
|
=======================================================================================
|
|
Structures
|
|
=======================================================================================
|
|
*/
|
|
|
|
typedef struct SCRT_tdstEntry_
|
|
{
|
|
char cType;
|
|
char *szName;
|
|
unsigned short uwNameLength;
|
|
char cCompState;
|
|
long lCompWith;
|
|
HTREEITEM hItem;
|
|
} SCRT_tdstEntry;
|
|
|
|
|
|
typedef struct SCRT_tdstSection_
|
|
{
|
|
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
|
|
/* same entry than SCR_tdstSection entry */
|
|
char cType;
|
|
char *szName;
|
|
unsigned short uwNameLength;
|
|
char cCompState;
|
|
long lCompWith;
|
|
HTREEITEM hItem;
|
|
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
|
|
char *szEndSection;
|
|
BOOL bNameIsAllocate;
|
|
long lNumberOfElements;
|
|
SCRT_tdstEntry **d_p_stElement;
|
|
//long lNumberOfEntries;
|
|
//SCRT_tdstSectionEntry *d_stEntry;
|
|
//long lNumberOfSubSections;
|
|
//struct SCRT_tdstSectionTree_ *d_stSubSection;
|
|
} SCRT_tdstSection;
|
|
|
|
/*
|
|
=======================================================================================
|
|
Functions
|
|
=======================================================================================
|
|
*/
|
|
|
|
void SCRT_fn_vClean( SCRT_tdstSection *_p_stSection );
|
|
void SCRT_fn_vFree ( SCRT_tdstSection *_p_stSection );
|
|
void SCRT_fn_vBuildSectionTree( SCRT_tdstSection *_p_stSection, SCR_tdst_File_Description *_p_stContent, char *_szName, unsigned short _uwNameLength, BOOL bFile );
|
|
void SCRT_fn_vInitAndBuildSectionTree( SCRT_tdstSection *_p_stSection, char *_szSectionContent, char *_szFileName );
|
|
BOOL SCRT_fn_bCompareSectionTree( SCRT_tdstSection *_p_stSection1, SCRT_tdstSection *_p_stSection2 );
|
|
|
|
/*
|
|
=======================================================================================
|
|
=======================================================================================
|
|
CConflictDlg dialog
|
|
=======================================================================================
|
|
=======================================================================================
|
|
*/
|
|
|
|
#define C_cDisplayText 0
|
|
#define C_cDisplayTree 1
|
|
|
|
class CConflictDlg : public CDialog
|
|
{
|
|
public:
|
|
|
|
/*==> section name and user name (name of user that makes the update that generate the conflict )*/
|
|
char *m_szSectionName;
|
|
char *m_szUserName;
|
|
|
|
/*==> variable to manage Vss section */
|
|
char *m_szVssSection;
|
|
CRichEditCtrl m_oVssRichEdit;
|
|
SCRT_tdstSection m_stVssTree;
|
|
CTreeCtrl *m_p_oVssTree;
|
|
|
|
/*==> variable to manage Local section */
|
|
CRichEditCtrl m_oLocalRichEdit;
|
|
char *m_szLocalSection;
|
|
SCRT_tdstSection m_stLocalTree;
|
|
CTreeCtrl *m_p_oLocalTree;
|
|
|
|
/*==> variable to manage merged section (not yet used ) */
|
|
SCRT_tdstSection m_szMergeSection;
|
|
CTreeCtrl *m_p_oMergeTree;
|
|
|
|
/*==> char format structure (for CRichEditCtrl display ) */
|
|
CHARFORMAT m_stCharFormat;
|
|
|
|
/*==> Section display mode (tree or edit) */
|
|
char m_cDisplayMode;
|
|
|
|
/*==> use to know if some message on tree or Rich Edit are generated by code */
|
|
BOOL m_bLocalOp;
|
|
|
|
/*==> image list and array of icons for Tree Control */
|
|
CImageList m_oImageList;
|
|
HICON m_a_hIcon[7];
|
|
|
|
/*==> Id of some dialog control for resizing operation */
|
|
char m_cNbBottomButtons;
|
|
UINT m_a_uiBottomButton[ 3 ];
|
|
|
|
// Construction
|
|
public:
|
|
CConflictDlg(CWnd* pParent = NULL); // standard constructor
|
|
~CConflictDlg();
|
|
|
|
/*==> to change display mode of section : tree or text */
|
|
void m_fn_vChangeDisplayMode( char _cMode );
|
|
|
|
/*==> access function to set section and user names and contents */
|
|
void m_fn_vSetSectionName( char *_szSectionName ) { m_szSectionName = _szSectionName; }
|
|
void m_fn_vSetUserName( char *_szUserName ) { m_szUserName = _szUserName; }
|
|
void m_fn_vSetVssSection( char *_szVssSection ) { m_szVssSection = _szVssSection; }
|
|
void m_fn_vSetLocalSection( char *_szLocalSection ) { m_szLocalSection = _szLocalSection; }
|
|
|
|
/*==> fill a tree control with a section */
|
|
void m_fn_vFillTree( CTreeCtrl *_p_oTree, SCRT_tdstSection *_p_stSection, HTREEITEM _hParent, int _iImage, BOOL _bVss );
|
|
|
|
/*==> low level functions to add text in a RichEdit control */
|
|
long m_fn_RE_lAddText( CRichEditCtrl *_p_oRE, char *_szText, char *_szEndText, char _cType );
|
|
void m_fn_RE_vRecaleLine( CRichEditCtrl *_p_oRE1, CRichEditCtrl *_p_oRE2 );
|
|
|
|
/*==> Low level functions to print section part in a Rich Edit control */
|
|
char *m_fn_RE_vPrintSectionBeginning( CRichEditCtrl *_p_oRE, SCRT_tdstSection *_p_stSection, char *_szFrom, BOOL _bVss );
|
|
char *m_fn_RE_vPrintEntry( CRichEditCtrl *_p_oRE, SCRT_tdstEntry *_p_stEntry, char *_szFrom, BOOL _bVss );
|
|
char *m_fn_RE_vPrintSectionEnd( CRichEditCtrl *_p_oRE, SCRT_tdstSection *_p_stSection, char *_szFrom, BOOL _bVss );
|
|
|
|
/*==> High level function to print an entire section or two parrallel section in one or two rich edit control */
|
|
char *m_fn_RE_vPrintSection( CRichEditCtrl *_p_oRE, SCRT_tdstSection *_p_stSection, char *_szFrom, BOOL _bVss );
|
|
void m_fn_RE_vPrintTwoSection(SCRT_tdstSection *_p_stVssSection,char **_p_szVssFrom, SCRT_tdstSection *_p_stLclSection,char **_p_szLclFrom );
|
|
void m_fn_RE_vFill( void );
|
|
|
|
// Dialog Data
|
|
//{{AFX_DATA(CConflictDlg)
|
|
enum { IDD = IDD_DIALOG_CONFLICT };
|
|
// NOTE: the ClassWizard will add data members here
|
|
//}}AFX_DATA
|
|
|
|
// Overrides
|
|
// ClassWizard generated virtual function overrides
|
|
//{{AFX_VIRTUAL(CConflictDlg)
|
|
//}}AFX_VIRTUAL
|
|
|
|
|
|
|
|
// Implementation
|
|
protected:
|
|
|
|
// Generated message map functions
|
|
//{{AFX_MSG(CConflictDlg)
|
|
virtual BOOL OnInitDialog();
|
|
afx_msg void OnDestroy();
|
|
afx_msg void OnSize(UINT nType, int cx, int cy);
|
|
afx_msg void OnSizing( UINT nSide, LPRECT lpRect );
|
|
afx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo);
|
|
afx_msg void OnSelchangedTreeLocal(NMHDR* pNMHDR, LRESULT* pResult);
|
|
afx_msg void OnItemexpandedTreeLocal(NMHDR* pNMHDR, LRESULT* pResult);
|
|
afx_msg void OnSelchangedTreeVss(NMHDR* pNMHDR, LRESULT* pResult);
|
|
afx_msg void OnItemexpandedTreeVss(NMHDR* pNMHDR, LRESULT* pResult);
|
|
afx_msg void OnVscrollRicheditLocal();
|
|
afx_msg void OnVscrollRicheditVss();
|
|
afx_msg void OnButtonTreetext();
|
|
//}}AFX_MSG
|
|
DECLARE_MESSAGE_MAP()
|
|
};
|
|
|
|
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
|
|
//{{AFX_INSERT_LOCATION}}
|
|
// Microsoft Developer Studio will insert additional declarations immediately before the previous line.
|
|
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
|
|
#endif // !defined(AFX_DLGCONFL_H__6184144B_0199_11D1_8EF9_00609736731A__INCLUDED_)
|
|
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
|