87 lines
2.6 KiB
C++
87 lines
2.6 KiB
C++
#ifndef _M68HC11_CODEVIEW_HPP_
|
|
#define _M68HC11_CODEVIEW_HPP_
|
|
#ifndef _COMMON_MDIWIN_HPP_
|
|
#include <common/mdiwin.hpp>
|
|
#endif
|
|
#ifndef _COMMON_RICHEDIT_HPP_
|
|
#include <common/richedit.hpp>
|
|
#endif
|
|
#ifndef _COMMON_HOOKPROC_HPP_
|
|
#include <common/hookproc.hpp>
|
|
#endif
|
|
#ifndef _COMMON_CLIPBOARD_HPP_
|
|
#include <common/clipbrd.hpp>
|
|
#endif
|
|
#ifndef _M68HC11_EDITFIND_HPP_
|
|
#include <m68hc11/editfnd.hpp>
|
|
#endif
|
|
|
|
class CodeView : public MDIWindow, private WinHookProc
|
|
{
|
|
public:
|
|
CodeView(void);
|
|
virtual ~CodeView();
|
|
BOOL save(void);
|
|
BOOL save(const String &strPathFileName);
|
|
void open(const String &pathFileName);
|
|
void find(void);
|
|
void cut(void);
|
|
void copy(void);
|
|
void paste(void);
|
|
void print(void);
|
|
BOOL isDirty(void)const;
|
|
void setLineHandler(PureCallback *pPureCallback);
|
|
const String &getTitle(void)const;
|
|
void setTitle(const String &strTitle);
|
|
protected:
|
|
virtual void preRegister(WNDCLASS &wndClass);
|
|
virtual void preCreate(MDICREATESTRUCT &createStruct);
|
|
private:
|
|
enum {FontMagic=175,EditControlID=100,StatusBarID=101,BorderWidth=1}; // 165
|
|
CallbackData::ReturnType createHandler(CallbackData &someCallbackData);
|
|
CallbackData::ReturnType sizeHandler(CallbackData &someCallbackData);
|
|
CallbackData::ReturnType closeHandler(CallbackData &someCallbackData);
|
|
CallbackData::ReturnType destroyHandler(CallbackData &someCallbackData);
|
|
CallbackData::ReturnType commandHandler(CallbackData &someCallbackData);
|
|
CallbackData::ReturnType keyUpHandler(CallbackData &someCallbackData);
|
|
CallbackData::ReturnType leftButtonDownHandler(CallbackData &someCallbackData);
|
|
CallbackData::ReturnType keyDownHandler(CallbackData &someCallbackData);
|
|
CallbackData::ReturnType setFocusHandler(CallbackData &someCallbackData);
|
|
BOOL saveCode(Block<String> &headerLines,const String &strPathFileName);
|
|
void getControlRect(Rect &controlRect);
|
|
void notifyCurrentLine(void);
|
|
|
|
Callback<CodeView> mCreateHandler;
|
|
Callback<CodeView> mSizeHandler;
|
|
Callback<CodeView> mCloseHandler;
|
|
Callback<CodeView> mDestroyHandler;
|
|
Callback<CodeView> mCommandHandler;
|
|
Callback<CodeView> mKeyUpHandler;
|
|
Callback<CodeView> mLeftButtonDownHandler;
|
|
Callback<CodeView> mKeyDownHandler;
|
|
Callback<CodeView> mSetFocusHandler;
|
|
CallbackPointer mLineHandler;
|
|
RichEditControl mRichEditControl;
|
|
SmartPointer<Clipboard> mClipboard;
|
|
EditFind mEditFind;
|
|
String mTitle;
|
|
};
|
|
|
|
inline
|
|
BOOL CodeView::isDirty(void)const
|
|
{
|
|
return mRichEditControl.isDirty();
|
|
}
|
|
|
|
inline
|
|
void CodeView::setLineHandler(PureCallback *pPureCallback)
|
|
{
|
|
mLineHandler=CallbackPointer(pPureCallback);
|
|
}
|
|
|
|
inline
|
|
const String &CodeView::getTitle(void)const
|
|
{
|
|
return mTitle;
|
|
}
|
|
#endif |