Files
Work/m68hc11/backup/codeview.hpp
2024-08-07 09:16:27 -04:00

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