Applied patch #845402 ("RichEdit sample fixing and cleaning"); In addition made compilation with MSVC (nearly) warning free+some more cleaning up.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@24613 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
6c3b4aae47
commit
62a1177692
@ -136,7 +136,7 @@ public:
|
||||
deleted by list. See the constructor for more details.
|
||||
@param ownsflag if true, list will own entries
|
||||
*/
|
||||
void ownsObjects(bool ownsflag = true)
|
||||
void ownsObjects(bool ownsflag)
|
||||
{ ownsEntries = ownsflag; }
|
||||
|
||||
/** Query whether list owns entries.
|
||||
@ -236,7 +236,10 @@ protected:
|
||||
param iterator i
|
||||
*/
|
||||
inline void deleteContent(iterator i)
|
||||
{ if(ownsEntries) delete *i; }
|
||||
{
|
||||
iterator *i_ptr = &i;
|
||||
if(ownsEntries) delete i_ptr;
|
||||
}
|
||||
|
||||
|
||||
private:
|
||||
|
@ -17,8 +17,8 @@
|
||||
#endif
|
||||
|
||||
#include "wxLayout.h"
|
||||
#include <wx/textfile.h>
|
||||
#include <wx/image.h>
|
||||
#include "wx/textfile.h"
|
||||
#include "wx/image.h"
|
||||
|
||||
#if wxUSE_IOSTREAMH
|
||||
#include <iostream.h>
|
||||
@ -26,7 +26,10 @@
|
||||
#include <iostream>
|
||||
#endif
|
||||
|
||||
#include "Micon.xpm"
|
||||
#include "wx/wfstream.h"
|
||||
#include "wx/txtstrm.h"
|
||||
|
||||
#include "Micon.xpm"
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
@ -69,9 +72,9 @@ BEGIN_EVENT_TABLE(MyFrame,wxFrame)
|
||||
END_EVENT_TABLE()
|
||||
|
||||
|
||||
MyFrame::MyFrame(void) :
|
||||
wxFrame( (wxFrame *) NULL, -1, _T("wxLayout"),
|
||||
wxPoint(880,100), wxSize(256,256) )
|
||||
MyFrame::MyFrame() :
|
||||
wxFrame( (wxFrame *) NULL, wxID_ANY, _T("wxLayout"),
|
||||
wxDefaultPosition, wxDefaultSize )
|
||||
{
|
||||
CreateStatusBar( 2 );
|
||||
|
||||
@ -119,7 +122,7 @@ MyFrame::MyFrame(void) :
|
||||
menu_bar->Append(edit_menu, _T("&Edit") );
|
||||
|
||||
#ifndef __WXMSW__
|
||||
menu_bar->Show( TRUE );
|
||||
menu_bar->Show(true);
|
||||
#endif // MSW
|
||||
|
||||
SetMenuBar( menu_bar );
|
||||
@ -157,12 +160,13 @@ MyFrame::MyFrame(void) :
|
||||
#endif // 0
|
||||
};
|
||||
|
||||
void
|
||||
MyFrame::AddSampleText(wxLayoutList *llist)
|
||||
void MyFrame::AddSampleText(wxLayoutList *llist)
|
||||
{
|
||||
llist->Clear(wxSWISS,16,wxNORMAL,wxNORMAL, false);
|
||||
llist->SetFont(-1,-1,-1,-1,-1,_T("blue"));
|
||||
llist->Insert(_T("blue"));
|
||||
llist->LineBreak();
|
||||
|
||||
llist->SetFont(-1,-1,-1,-1,-1,_T("black"));
|
||||
llist->Insert(_T("The quick brown fox jumps over the lazy dog."));
|
||||
llist->LineBreak();
|
||||
@ -174,89 +178,96 @@ MyFrame::AddSampleText(wxLayoutList *llist)
|
||||
llist->SetFont(wxROMAN);
|
||||
llist->Insert(_T("The quick brown fox jumps over the lazy dog."));
|
||||
llist->LineBreak();
|
||||
llist->Insert(_T("Hello "));
|
||||
|
||||
llist->Insert(_T("Hello "));
|
||||
wxBitmap *icon =
|
||||
#if wxICON_IS_BITMAP
|
||||
llist->Insert(new wxLayoutObjectIcon(new wxICON(Micon)));
|
||||
new wxIcon(Micon_xpm)
|
||||
#else
|
||||
llist->Insert(new wxLayoutObjectIcon(new wxBitmap (wxICON(Micon))));
|
||||
new wxBitmap (wxIcon(Micon_xpm))
|
||||
#endif
|
||||
llist->SetFontWeight(wxBOLD);
|
||||
llist->Insert(_T("World! "));
|
||||
llist->SetFontWeight(wxNORMAL);
|
||||
llist->Insert(_T("The quick brown fox jumps..."));
|
||||
llist->LineBreak();
|
||||
llist->Insert(_T("over the lazy dog."));
|
||||
llist->SetFont(-1,-1,-1,-1,true);
|
||||
llist->Insert(_T("underlined"));
|
||||
llist->SetFont(-1,-1,-1,-1,false);
|
||||
llist->SetFont(wxROMAN);
|
||||
llist->Insert(_T("This is "));
|
||||
llist->SetFont(-1,-1,-1,wxBOLD); llist->Insert(_T("BOLD ")); llist->SetFont(-1,-1,-1,wxNORMAL);
|
||||
llist->Insert(_T("and "));
|
||||
llist->SetFont(-1,-1,wxITALIC);
|
||||
llist->Insert(_T("italics "));
|
||||
llist->SetFont(-1,-1,wxNORMAL);
|
||||
llist->LineBreak();
|
||||
llist->Insert(_T("and "));
|
||||
llist->SetFont(-1,-1,wxSLANT);
|
||||
llist->Insert(_T("slanted"));
|
||||
llist->SetFont(-1,-1,wxNORMAL);
|
||||
llist->Insert(_T(" text."));
|
||||
llist->LineBreak();
|
||||
llist->Insert(_T("and "));
|
||||
llist->SetFont(-1,-1,-1,-1,-1,_T("blue"));
|
||||
llist->Insert(_T("blue"));
|
||||
llist->SetFont(-1,-1,-1,-1,-1,_T("black"));
|
||||
llist->Insert(_T(" and "));
|
||||
llist->SetFont(-1,-1,-1,-1,-1,_T("green"),_T("black"));
|
||||
llist->Insert(_T("green on black"));
|
||||
llist->SetFont(-1,-1,-1,-1,-1,_T("black"),_T("white"));
|
||||
llist->Insert(_T(" text."));
|
||||
llist->LineBreak();
|
||||
|
||||
llist->SetFont(-1,-1,wxSLANT);
|
||||
llist->Insert(_T("Slanted"));
|
||||
llist->SetFont(-1,-1,wxNORMAL);
|
||||
llist->Insert(_T(" and normal text and "));
|
||||
llist->SetFont(-1,-1,wxSLANT);
|
||||
llist->Insert(_T("slanted"));
|
||||
llist->SetFont(-1,-1,wxNORMAL);
|
||||
llist->Insert(_T(" again."));
|
||||
llist->LineBreak();
|
||||
;
|
||||
|
||||
// add some more text for testing:
|
||||
llist->Insert(_T("And here the source for the test program:"));
|
||||
llist->LineBreak();
|
||||
llist->SetFont(wxTELETYPE,16);
|
||||
llist->Insert(_T("And here the source for the test program:"));
|
||||
llist->LineBreak();
|
||||
llist->Insert(_T("And here the source for the test program:"));
|
||||
llist->LineBreak();
|
||||
llist->Insert(_T("And here the source for the test program:"));
|
||||
llist->Insert(new wxLayoutObjectIcon(icon));
|
||||
llist->SetFontWeight(wxBOLD);
|
||||
llist->Insert(_T("World! "));
|
||||
llist->SetFontWeight(wxNORMAL);
|
||||
llist->Insert(_T("The quick brown fox jumps..."));
|
||||
llist->LineBreak();
|
||||
|
||||
wxFile file( _T("wxLayout.cpp") );
|
||||
if ( file.IsOpened() )
|
||||
{
|
||||
off_t len = file.Length();
|
||||
wxChar *data = (wxChar *)malloc(2*len);
|
||||
if ( file.Read(data, len) == len )
|
||||
{
|
||||
wxLayoutImportText(llist, data);
|
||||
}
|
||||
free(data);
|
||||
}
|
||||
llist->Insert(_T("over the lazy dog."));
|
||||
llist->SetFont(-1,-1,-1,-1,true);
|
||||
llist->Insert(_T("underlined"));
|
||||
llist->SetFont(-1,-1,-1,-1,false);
|
||||
llist->SetFont(wxROMAN);
|
||||
llist->Insert(_T("This is "));
|
||||
llist->SetFont(-1,-1,-1,wxBOLD);
|
||||
llist->Insert(_T("BOLD "));
|
||||
llist->SetFont(-1,-1,-1,wxNORMAL);
|
||||
llist->Insert(_T("and "));
|
||||
llist->SetFont(-1,-1,wxITALIC);
|
||||
llist->Insert(_T("italics "));
|
||||
llist->SetFont(-1,-1,wxNORMAL);
|
||||
llist->LineBreak();
|
||||
|
||||
llist->MoveCursorTo(wxPoint(0,0));
|
||||
m_lwin->SetDirty();
|
||||
m_lwin->Refresh();
|
||||
llist->Insert(_T("and "));
|
||||
llist->SetFont(-1,-1,wxSLANT);
|
||||
llist->Insert(_T("slanted"));
|
||||
llist->SetFont(-1,-1,wxNORMAL);
|
||||
llist->Insert(_T(" text."));
|
||||
llist->LineBreak();
|
||||
|
||||
llist->Insert(_T("and "));
|
||||
llist->SetFont(-1,-1,-1,-1,-1,_T("blue"));
|
||||
llist->Insert(_T("blue"));
|
||||
llist->SetFont(-1,-1,-1,-1,-1,_T("black"));
|
||||
llist->Insert(_T(" and "));
|
||||
llist->SetFont(-1,-1,-1,-1,-1,_T("green"),_T("black"));
|
||||
llist->Insert(_T("green on black"));
|
||||
llist->SetFont(-1,-1,-1,-1,-1,_T("black"),_T("white"));
|
||||
llist->Insert(_T(" text."));
|
||||
llist->LineBreak();
|
||||
|
||||
llist->SetFont(-1,-1,wxSLANT);
|
||||
llist->Insert(_T("Slanted"));
|
||||
llist->SetFont(-1,-1,wxNORMAL);
|
||||
llist->Insert(_T(" and normal text and "));
|
||||
llist->SetFont(-1,-1,wxSLANT);
|
||||
llist->Insert(_T("slanted"));
|
||||
llist->SetFont(-1,-1,wxNORMAL);
|
||||
llist->Insert(_T(" again."));
|
||||
llist->LineBreak();
|
||||
|
||||
// add some more text for testing:
|
||||
llist->Insert(_T("And here the source for the test program:"));
|
||||
llist->LineBreak();
|
||||
|
||||
llist->SetFont(wxTELETYPE,16);
|
||||
llist->Insert(_T("And here the source for the test program:"));
|
||||
llist->LineBreak();
|
||||
|
||||
wxTextFile file(_T("wxLayout.cpp"));
|
||||
if ( file.Open() )
|
||||
{
|
||||
for ( wxString s = file.GetFirstLine(); !file.Eof(); s = file.GetNextLine() )
|
||||
{
|
||||
wxString line;
|
||||
llist->Insert(line.Format(_T("%6u: %s"),file.GetCurrentLine()+1,s.c_str()));
|
||||
llist->LineBreak();
|
||||
}
|
||||
}
|
||||
|
||||
llist->MoveCursorTo(wxPoint(0,0));
|
||||
m_lwin->SetDirty();
|
||||
m_lwin->Refresh();
|
||||
}
|
||||
|
||||
void
|
||||
MyFrame::Clear(void)
|
||||
void MyFrame::Clear()
|
||||
{
|
||||
wxColour colBg(0, 0, 0);
|
||||
wxColour colBg(0, 0, 0);
|
||||
|
||||
m_lwin->Clear(wxROMAN,16,wxNORMAL,wxNORMAL, false, wxRED, &colBg);
|
||||
m_lwin->Clear(wxROMAN,16,wxNORMAL,wxNORMAL, false, wxRED, &colBg);
|
||||
}
|
||||
|
||||
|
||||
@ -265,13 +276,13 @@ void MyFrame::OnCommand( wxCommandEvent &event )
|
||||
switch (event.GetId())
|
||||
{
|
||||
case ID_QUIT:
|
||||
Close( TRUE );
|
||||
Close(true);
|
||||
break;
|
||||
case ID_PRINT:
|
||||
{
|
||||
wxPrinter printer;
|
||||
wxLayoutPrintout printout(m_lwin->GetLayoutList(),_("M: Printout"));
|
||||
if (! printer.Print(this, &printout, TRUE))
|
||||
if (! printer.Print(this, &printout, true))
|
||||
{
|
||||
// Had to remove the split up strings that used to be below, and
|
||||
// put them into one long strong. Otherwise MSVC would give an
|
||||
@ -297,76 +308,100 @@ void MyFrame::OnCommand( wxCommandEvent &event )
|
||||
Clear();
|
||||
break;
|
||||
case ID_CLICK:
|
||||
cerr << "Received click event." << endl;
|
||||
wxLogError( _T("Received click event.") );
|
||||
break;
|
||||
case ID_PASTE:
|
||||
m_lwin->Paste(TRUE);
|
||||
m_lwin->Refresh(FALSE);
|
||||
m_lwin->Paste(true);
|
||||
m_lwin->Refresh(false);
|
||||
break;
|
||||
#ifdef __WXGTK__
|
||||
case ID_PASTE_PRIMARY:
|
||||
// text only from primary:
|
||||
m_lwin->Paste(FALSE, TRUE);
|
||||
m_lwin->Refresh(FALSE);
|
||||
m_lwin->Paste(false, true);
|
||||
m_lwin->Refresh(false);
|
||||
break;
|
||||
case ID_COPY_PRIMARY:
|
||||
// copy text-only to primary selection:
|
||||
m_lwin->Copy(FALSE,FALSE,TRUE);
|
||||
m_lwin->Refresh(FALSE);
|
||||
m_lwin->Copy(false, false, true);
|
||||
m_lwin->Refresh(false);
|
||||
break;
|
||||
#endif
|
||||
case ID_COPY:
|
||||
m_lwin->Copy(TRUE,TRUE,FALSE);
|
||||
m_lwin->Refresh(FALSE);
|
||||
m_lwin->Copy(true, true, false);
|
||||
m_lwin->Refresh(false);
|
||||
break;
|
||||
case ID_CUT:
|
||||
m_lwin->Cut();
|
||||
m_lwin->Refresh(FALSE);
|
||||
m_lwin->Refresh(false);
|
||||
break;
|
||||
#ifdef M_BASEDIR
|
||||
case ID_FIND:
|
||||
m_lwin->Find("void");
|
||||
m_lwin->Refresh(FALSE);
|
||||
m_lwin->Refresh(false);
|
||||
break;
|
||||
#endif
|
||||
case ID_HTML:
|
||||
{
|
||||
wxLayoutExportObject *export0;
|
||||
wxLayoutExportStatus status(m_lwin->GetLayoutList());
|
||||
wxFileDialog
|
||||
HTML_dialog( this,
|
||||
_T("Save As HTML..."),
|
||||
wxEmptyString,
|
||||
wxEmptyString,
|
||||
_T("HTML file (*.html)|*.html|Text file (*.txt)|*.txt|Any file (*)|*"),
|
||||
wxSAVE|wxOVERWRITE_PROMPT
|
||||
);
|
||||
if (HTML_dialog.ShowModal() == wxID_OK)
|
||||
{
|
||||
wxFFileOutputStream output( HTML_dialog.GetPath() );
|
||||
wxTextOutputStream textout( output );
|
||||
|
||||
cout << "<HTML>" << endl;
|
||||
while((export0 = wxLayoutExport( &status,
|
||||
WXLO_EXPORT_AS_HTML)) != NULL)
|
||||
wxLayoutExportObject *export0;
|
||||
wxString object;
|
||||
wxLayoutExportStatus status(m_lwin->GetLayoutList());
|
||||
while((export0 = wxLayoutExport( &status, WXLO_EXPORT_AS_HTML)) != NULL)
|
||||
{
|
||||
if(export0->type == WXLO_EXPORT_HTML)
|
||||
cout << *(export0->content.text);
|
||||
object = *(export0->content.text);
|
||||
else
|
||||
; // ignore itcout << "<!--UNKNOWN OBJECT>";
|
||||
|
||||
; // ignore "<!--UNKNOWN OBJECT>";
|
||||
delete export0;
|
||||
textout << object;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case ID_TEXT:
|
||||
{
|
||||
wxLayoutExportObject *export0;
|
||||
wxLayoutExportStatus status(m_lwin->GetLayoutList());
|
||||
wxFileDialog
|
||||
TEXT_dialog( this,
|
||||
_T("Save As TXT..."),
|
||||
wxEmptyString,
|
||||
wxEmptyString,
|
||||
_T("Text file (*.txt)|*.txt|Any file (*)|*"),
|
||||
wxSAVE|wxOVERWRITE_PROMPT
|
||||
);
|
||||
if (TEXT_dialog.ShowModal() == wxID_OK)
|
||||
{
|
||||
wxFFileOutputStream output( TEXT_dialog.GetPath() );
|
||||
wxTextOutputStream textout( output );
|
||||
|
||||
wxLayoutExportObject *export0;
|
||||
wxString object;
|
||||
wxLayoutExportStatus status(m_lwin->GetLayoutList());
|
||||
while((export0 = wxLayoutExport( &status, WXLO_EXPORT_AS_TEXT)) != NULL)
|
||||
{
|
||||
if(export0->type == WXLO_EXPORT_TEXT)
|
||||
cout << *(export0->content.text);
|
||||
object = *(export0->content.text);
|
||||
else
|
||||
cout << "<!--UNKNOWN OBJECT>";
|
||||
|
||||
object = _T("<!--UNKNOWN OBJECT>");
|
||||
delete export0;
|
||||
textout << object;
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
case ID_LONG_TEST:
|
||||
{
|
||||
wxString line;
|
||||
@ -400,6 +435,7 @@ void MyFrame::OnCommand( wxCommandEvent &event )
|
||||
// wxLayoutWindow should have a flag m_highlightUrls and do it itself
|
||||
// (instead of doing it manually like M does now)
|
||||
m_lwin->GetLayoutList()->Insert(_T("http://www.wxwindows.org/"));
|
||||
m_lwin->Refresh();
|
||||
}
|
||||
};
|
||||
|
||||
@ -412,7 +448,7 @@ void MyFrame::OnPrint(wxCommandEvent& WXUNUSED(event))
|
||||
#endif
|
||||
wxPrinter printer;
|
||||
wxLayoutPrintout printout( m_lwin->GetLayoutList(), _T("Printout from wxLayout"));
|
||||
if (! printer.Print(this, &printout, TRUE))
|
||||
if (! printer.Print(this, &printout, true))
|
||||
wxMessageBox(
|
||||
_T("There was a problem printing.\nPerhaps your current printer is not set correctly?"),
|
||||
_T("Printing"), wxOK);
|
||||
@ -425,7 +461,7 @@ void MyFrame::OnPrintPS(wxCommandEvent& WXUNUSED(event))
|
||||
#ifdef OS_UNIX
|
||||
wxPostScriptPrinter printer;
|
||||
wxLayoutPrintout printout( m_lwin->GetLayoutList(),"My printout");
|
||||
printer.Print(this, &printout, TRUE);
|
||||
printer.Print(this, &printout, true);
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -452,7 +488,7 @@ void MyFrame::OnPrintPreview(wxCommandEvent& WXUNUSED(event))
|
||||
wxPreviewFrame *frame = new wxPreviewFrame(preview, this, _T("Demo Print Preview"), wxPoint(100, 100), wxSize(600, 650));
|
||||
frame->Centre(wxBOTH);
|
||||
frame->Initialize();
|
||||
frame->Show(TRUE);
|
||||
frame->Show(true);
|
||||
}
|
||||
|
||||
void MyFrame::OnPrintPreviewPS(wxCommandEvent& WXUNUSED(event))
|
||||
@ -466,7 +502,7 @@ void MyFrame::OnPrintPreviewPS(wxCommandEvent& WXUNUSED(event))
|
||||
wxPreviewFrame *frame = new wxPreviewFrame(preview, this, _T("Demo Print Preview"), wxPoint(100, 100), wxSize(600, 650));
|
||||
frame->Centre(wxBOTH);
|
||||
frame->Initialize();
|
||||
frame->Show(TRUE);
|
||||
frame->Show(true);
|
||||
}
|
||||
|
||||
void MyFrame::OnPrintSetup(wxCommandEvent& WXUNUSED(event))
|
||||
@ -531,18 +567,18 @@ void MyFrame::OnPageSetupPS(wxCommandEvent& WXUNUSED(event))
|
||||
// MyApp
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
MyApp::MyApp(void) :
|
||||
MyApp::MyApp() :
|
||||
wxApp( )
|
||||
{
|
||||
};
|
||||
|
||||
bool MyApp::OnInit(void)
|
||||
bool MyApp::OnInit()
|
||||
{
|
||||
wxFrame *frame = new MyFrame();
|
||||
wxInitAllImageHandlers();
|
||||
frame->Show( TRUE );
|
||||
frame->Show( true );
|
||||
// wxSetAFMPath("/usr/local/src/wxWindows/misc/afm/");
|
||||
return TRUE;
|
||||
return true;
|
||||
};
|
||||
|
||||
|
||||
|
@ -7,7 +7,7 @@
|
||||
#pragma interface
|
||||
#endif
|
||||
|
||||
#include <wx/wx.h>
|
||||
#include "wx/wx.h"
|
||||
|
||||
#include "wxllist.h"
|
||||
#include "wxlwindow.h"
|
||||
@ -26,14 +26,13 @@ class MyApp;
|
||||
|
||||
class MyFrame: public wxFrame
|
||||
{
|
||||
DECLARE_DYNAMIC_CLASS(MyFrame)
|
||||
|
||||
public:
|
||||
|
||||
MyFrame(void);
|
||||
void AddSampleText(wxLayoutList *llist);
|
||||
void Clear(void);
|
||||
void OnCommand( wxCommandEvent &event );
|
||||
public:
|
||||
|
||||
MyFrame();
|
||||
void AddSampleText(wxLayoutList *llist);
|
||||
void Clear();
|
||||
void OnCommand( wxCommandEvent &event );
|
||||
|
||||
void OnPrint(wxCommandEvent& event);
|
||||
void OnPrintPreview(wxCommandEvent& event);
|
||||
@ -44,11 +43,14 @@ class MyFrame: public wxFrame
|
||||
void OnPrintSetupPS(wxCommandEvent& event);
|
||||
void OnPageSetupPS(wxCommandEvent& event);
|
||||
|
||||
DECLARE_EVENT_TABLE()
|
||||
|
||||
private:
|
||||
wxLayoutWindow *m_lwin;
|
||||
wxPrintData m_PrintData;
|
||||
wxLayoutWindow *m_lwin;
|
||||
wxPrintData m_PrintData;
|
||||
|
||||
DECLARE_DYNAMIC_CLASS(MyFrame)
|
||||
|
||||
DECLARE_EVENT_TABLE()
|
||||
};
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
@ -57,10 +59,13 @@ private:
|
||||
|
||||
class MyApp: public wxApp
|
||||
{
|
||||
public:
|
||||
|
||||
MyApp(void);
|
||||
virtual bool OnInit(void);
|
||||
public:
|
||||
|
||||
MyApp();
|
||||
|
||||
virtual bool OnInit();
|
||||
|
||||
};
|
||||
|
||||
#endif // __WXCONVERTH__
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -45,6 +45,7 @@ void wxLayoutImportText(wxLayoutList *list, wxString const &str)
|
||||
// VZ: I still don't like it... the string data may be shared...
|
||||
wxChar * cptr = (wxChar *)str.c_str(); // const_cast
|
||||
const wxChar * begin = cptr;
|
||||
wxUnusedVar(begin);
|
||||
wxChar backup;
|
||||
|
||||
for(;;)
|
||||
@ -165,7 +166,7 @@ wxLayoutExportStatus::wxLayoutExportStatus(wxLayoutList *list)
|
||||
m_si = list->GetDefaultStyleInfo();
|
||||
m_line = list->GetFirstLine();
|
||||
m_iterator = m_line->GetFirstObject();
|
||||
m_FirstTime = TRUE;
|
||||
m_FirstTime = true;
|
||||
}
|
||||
|
||||
|
||||
@ -215,6 +216,7 @@ wxLayoutExportObject *wxLayoutExport(wxLayoutExportStatus *status,
|
||||
else
|
||||
type = WXLO_TYPE_TEXT;
|
||||
}
|
||||
wxUnusedVar(type);
|
||||
|
||||
wxString *str = new wxString();
|
||||
// text must be concatenated
|
||||
@ -250,7 +252,7 @@ wxLayoutExportObject *wxLayoutExport(wxLayoutExportStatus *status,
|
||||
*str += wxLayoutExportCmdAsHTML(
|
||||
*(wxLayoutObjectCmd const *)*status->m_iterator,
|
||||
& status->m_si, status->m_FirstTime);
|
||||
status->m_FirstTime = FALSE;
|
||||
status->m_FirstTime = false;
|
||||
break;
|
||||
default: // ignore icons
|
||||
;
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -13,7 +13,7 @@
|
||||
#endif
|
||||
|
||||
#ifndef USE_PCH
|
||||
# include <wx/wx.h>
|
||||
# include "wx/wx.h"
|
||||
#endif
|
||||
|
||||
#include "wxllist.h"
|
||||
@ -25,270 +25,314 @@
|
||||
|
||||
enum
|
||||
{
|
||||
WXLOWIN_MENU_LARGER = WXLOWIN_MENU_FIRST,
|
||||
WXLOWIN_MENU_SMALLER,
|
||||
WXLOWIN_MENU_UNDERLINE,
|
||||
WXLOWIN_MENU_BOLD,
|
||||
WXLOWIN_MENU_ITALICS,
|
||||
WXLOWIN_MENU_ROMAN,
|
||||
WXLOWIN_MENU_TYPEWRITER,
|
||||
WXLOWIN_MENU_SANSSERIF,
|
||||
WXLOWIN_MENU_RCLICK,
|
||||
WXLOWIN_MENU_DBLCLICK,
|
||||
WXLOWIN_MENU_MDOWN,
|
||||
WXLOWIN_MENU_LDOWN,
|
||||
WXLOWIN_MENU_LCLICK = WXLOWIN_MENU_LDOWN,
|
||||
WXLOWIN_MENU_LUP,
|
||||
WXLOWIN_MENU_MOUSEMOVE,
|
||||
WXLOWIN_MENU_LAST = WXLOWIN_MENU_MOUSEMOVE
|
||||
WXLOWIN_MENU_LARGER = WXLOWIN_MENU_FIRST,
|
||||
WXLOWIN_MENU_SMALLER,
|
||||
WXLOWIN_MENU_UNDERLINE,
|
||||
WXLOWIN_MENU_BOLD,
|
||||
WXLOWIN_MENU_ITALICS,
|
||||
WXLOWIN_MENU_ROMAN,
|
||||
WXLOWIN_MENU_TYPEWRITER,
|
||||
WXLOWIN_MENU_SANSSERIF,
|
||||
WXLOWIN_MENU_RCLICK,
|
||||
WXLOWIN_MENU_DBLCLICK,
|
||||
WXLOWIN_MENU_MDOWN,
|
||||
WXLOWIN_MENU_LDOWN,
|
||||
WXLOWIN_MENU_LCLICK = WXLOWIN_MENU_LDOWN,
|
||||
WXLOWIN_MENU_LUP,
|
||||
WXLOWIN_MENU_MOUSEMOVE,
|
||||
WXLOWIN_MENU_LAST = WXLOWIN_MENU_MOUSEMOVE
|
||||
};
|
||||
|
||||
/**
|
||||
This class is a rich text editing widget.
|
||||
This class is a rich text editing widget.
|
||||
*/
|
||||
class wxLayoutWindow : public wxScrolledWindow
|
||||
{
|
||||
public:
|
||||
/** Constructor.
|
||||
@param parent parent window to display this panel in
|
||||
*/
|
||||
wxLayoutWindow(wxWindow *parent);
|
||||
/** Constructor.
|
||||
@param parent parent window to display this panel in
|
||||
*/
|
||||
wxLayoutWindow(wxWindow *parent);
|
||||
|
||||
/// Destructor.
|
||||
virtual ~wxLayoutWindow();
|
||||
/// Destructor.
|
||||
virtual ~wxLayoutWindow();
|
||||
|
||||
/**@name Editing functionality */
|
||||
//@{
|
||||
/// Clears the window and sets default parameters.
|
||||
void Clear(int family = wxROMAN,
|
||||
int size=12,
|
||||
int style=wxNORMAL,
|
||||
int weight=wxNORMAL,
|
||||
int underline=0,
|
||||
wxColour *fg=NULL,
|
||||
wxColour *bg=NULL);
|
||||
/**@name Editing functionality */
|
||||
//@{
|
||||
/// Clears the window and sets default parameters.
|
||||
void Clear(int family = wxROMAN,
|
||||
int size = 12,
|
||||
int style = wxNORMAL,
|
||||
int weight = wxNORMAL,
|
||||
int underline = 0,
|
||||
wxColour *fg = NULL,
|
||||
wxColour *bg = NULL);
|
||||
|
||||
/// override base class virtual to also refresh the scrollbar position
|
||||
virtual void Refresh(bool eraseBackground = TRUE,
|
||||
const wxRect *rect = (const wxRect *)NULL);
|
||||
/// override base class virtual to also refresh the scrollbar position
|
||||
virtual void Refresh(bool eraseBackground = true,
|
||||
const wxRect *rect = (const wxRect *)NULL);
|
||||
|
||||
/** Sets a background image, only used on screen, not on printouts.
|
||||
@param bitmap a pointer to a wxBitmap or NULL to remove it
|
||||
*/
|
||||
void SetBackgroundBitmap(wxBitmap *bitmap = NULL)
|
||||
{
|
||||
if(m_BGbitmap) delete m_BGbitmap;
|
||||
m_BGbitmap = bitmap;
|
||||
}
|
||||
/// Enable or disable editing, i.e. processing of keystrokes.
|
||||
void SetEditable(bool toggle)
|
||||
{ m_Editable = toggle; SetCursorVisibility(toggle); }
|
||||
/// Query whether list can be edited by user.
|
||||
bool IsEditable(void) const { return m_Editable; }
|
||||
/** Sets cursor visibility, visible=1, invisible=0,
|
||||
visible-on-demand=-1, to hide it until moved.
|
||||
@param visibility -1,0 or 1
|
||||
@return the old visibility
|
||||
*/
|
||||
inline int SetCursorVisibility(int visibility = -1)
|
||||
{ int v =m_CursorVisibility;
|
||||
m_CursorVisibility = visibility; return v;}
|
||||
/** Sets a background image, only used on screen, not on printouts.
|
||||
@param bitmap a pointer to a wxBitmap or NULL to remove it
|
||||
*/
|
||||
void SetBackgroundBitmap(wxBitmap *bitmap = NULL)
|
||||
{
|
||||
if(m_BGbitmap) delete m_BGbitmap;
|
||||
m_BGbitmap = bitmap;
|
||||
}
|
||||
|
||||
/// Pastes text from clipboard.
|
||||
void Paste(bool privateFormat = FALSE, bool usePrimarySelection = FALSE);
|
||||
/** Copies selection to clipboard.
|
||||
@param invalidate used internally, see wxllist.h for details
|
||||
*/
|
||||
bool Copy(bool invalidate = true, bool privateFormat = FALSE, bool primary = FALSE);
|
||||
/// Copies selection to clipboard and deletes it.
|
||||
bool Cut(bool privateFormat = FALSE, bool usePrimary = FALSE);
|
||||
//@}
|
||||
/// Enable or disable editing, i.e. processing of keystrokes.
|
||||
void SetEditable(bool toggle)
|
||||
{
|
||||
m_Editable = toggle;
|
||||
SetCursorVisibility(toggle);
|
||||
}
|
||||
|
||||
/// find string in buffer
|
||||
bool Find(const wxString &needle,
|
||||
wxPoint * fromWhere = NULL,
|
||||
const wxString &configPath = _T("MsgViewFindString"));
|
||||
/// find the same string again
|
||||
bool FindAgain(void);
|
||||
/// Query whether list can be edited by user.
|
||||
bool IsEditable() const { return m_Editable; }
|
||||
|
||||
void EnablePopup(bool enable = true) { m_DoPopupMenu = enable; }
|
||||
/** Sets cursor visibility, visible=1, invisible=0,
|
||||
visible-on-demand=-1, to hide it until moved.
|
||||
@param visibility -1,0 or 1
|
||||
@return the old visibility
|
||||
*/
|
||||
inline int SetCursorVisibility(int visibility = -1)
|
||||
{
|
||||
int v =m_CursorVisibility;
|
||||
m_CursorVisibility = visibility; return v;
|
||||
}
|
||||
|
||||
/** Sets the wrap margin.
|
||||
@param margin set this to 0 to disable it
|
||||
*/
|
||||
void SetWrapMargin(CoordType margin) { m_WrapMargin = margin; }
|
||||
/// Pastes text from clipboard.
|
||||
void Paste(bool privateFormat = false, bool usePrimarySelection = false);
|
||||
|
||||
/** Toggle wordwrap as we type.
|
||||
@param on true to activate word wrap
|
||||
*/
|
||||
void SetWordWrap(bool on = true) { m_DoWordWrap = on; }
|
||||
|
||||
/** Redraws the window.
|
||||
Internally, this stores the parameter and calls a refresh on
|
||||
wxMSW, draws directly on wxGTK.
|
||||
*/
|
||||
void RequestUpdate(const wxRect *updateRect = NULL);
|
||||
/** Copies selection to clipboard.
|
||||
@param invalidate used internally, see wxllist.h for details
|
||||
*/
|
||||
bool Copy(bool invalidate = true, bool privateFormat = false, bool primary = false);
|
||||
|
||||
/// if exact == false, assume 50% extra size for the future
|
||||
void ResizeScrollbars(bool exact = false); // don't change this to true!
|
||||
/// Copies selection to clipboard and deletes it.
|
||||
bool Cut(bool privateFormat = false, bool usePrimary = false);
|
||||
//@}
|
||||
|
||||
/// if the flag is true, we send events when user clicks on embedded objects
|
||||
inline void SetMouseTracking(bool doIt = true) { m_doSendEvents = doIt; }
|
||||
/// find string in buffer
|
||||
bool Find(const wxString &needle,
|
||||
wxPoint * fromWhere = NULL,
|
||||
const wxString &configPath = _T("MsgViewFindString"));
|
||||
|
||||
/* Returns a pointer to the wxLayoutList object.
|
||||
@return the list
|
||||
*/
|
||||
wxLayoutList * GetLayoutList(void) { return m_llist; }
|
||||
/// find the same string again
|
||||
bool FindAgain();
|
||||
|
||||
/**@name Callbacks */
|
||||
//@{
|
||||
void OnSize(wxSizeEvent &event);
|
||||
void OnPaint(wxPaintEvent &event);
|
||||
void OnChar(wxKeyEvent& event);
|
||||
void OnKeyUp(wxKeyEvent& event);
|
||||
void OnUpdateMenuUnderline(wxUpdateUIEvent& event);
|
||||
void OnUpdateMenuBold(wxUpdateUIEvent& event);
|
||||
void OnUpdateMenuItalic(wxUpdateUIEvent& event);
|
||||
void OnMenu(wxCommandEvent& event);
|
||||
void OnLeftMouseDown(wxMouseEvent& event) { OnMouse(WXLOWIN_MENU_LDOWN, event); }
|
||||
void OnLeftMouseUp(wxMouseEvent& event) { OnMouse(WXLOWIN_MENU_LUP, event); }
|
||||
void OnRightMouseClick(wxMouseEvent& event) { OnMouse(WXLOWIN_MENU_RCLICK, event); }
|
||||
void OnMiddleMouseDown(wxMouseEvent& event) { OnMouse(WXLOWIN_MENU_MDOWN, event); }
|
||||
void OnMouseDblClick(wxMouseEvent& event) { OnMouse(WXLOWIN_MENU_DBLCLICK, event); }
|
||||
void OnMouseMove(wxMouseEvent &event) { OnMouse(WXLOWIN_MENU_MOUSEMOVE, event) ; }
|
||||
void OnSetFocus(wxFocusEvent &ev);
|
||||
void OnKillFocus(wxFocusEvent &ev);
|
||||
//@}
|
||||
void EnablePopup(bool enable = true) { m_DoPopupMenu = enable; }
|
||||
|
||||
/// Creates a wxMenu for use as a format popup.
|
||||
static wxMenu * MakeFormatMenu(void);
|
||||
/// Redraws the window, used by RequestUpdate() or OnPaint().
|
||||
void InternalPaint(const wxRect *updateRect);
|
||||
/** Sets the wrap margin.
|
||||
@param margin set this to 0 to disable it
|
||||
*/
|
||||
void SetWrapMargin(CoordType margin) { m_WrapMargin = margin; }
|
||||
|
||||
/** Toggle wordwrap as we type.
|
||||
@param on true to activate word wrap
|
||||
*/
|
||||
void SetWordWrap(bool on = true) { m_DoWordWrap = on; }
|
||||
|
||||
/** Redraws the window.
|
||||
Internally, this stores the parameter and calls a refresh on
|
||||
wxMSW, draws directly on wxGTK.
|
||||
*/
|
||||
void RequestUpdate(const wxRect *updateRect = NULL);
|
||||
|
||||
/// if exact == false, assume 50% extra size for the future
|
||||
void ResizeScrollbars(bool exact = false); // don't change this to true!
|
||||
|
||||
/// if the flag is true, we send events when user clicks on embedded objects
|
||||
inline void SetMouseTracking(bool doIt = true) { m_doSendEvents = doIt; }
|
||||
|
||||
/** Returns a pointer to the wxLayoutList object.
|
||||
@return the list
|
||||
*/
|
||||
wxLayoutList * GetLayoutList() { return m_llist; }
|
||||
|
||||
/**@name Callbacks */
|
||||
//@{
|
||||
void OnSize(wxSizeEvent &event);
|
||||
void OnPaint(wxPaintEvent &event);
|
||||
void OnChar(wxKeyEvent& event);
|
||||
void OnKeyUp(wxKeyEvent& event);
|
||||
void OnUpdateMenuUnderline(wxUpdateUIEvent& event);
|
||||
void OnUpdateMenuBold(wxUpdateUIEvent& event);
|
||||
void OnUpdateMenuItalic(wxUpdateUIEvent& event);
|
||||
void OnMenu(wxCommandEvent& event);
|
||||
void OnLeftMouseDown(wxMouseEvent& event) { OnMouse(WXLOWIN_MENU_LDOWN, event); }
|
||||
void OnLeftMouseUp(wxMouseEvent& event) { OnMouse(WXLOWIN_MENU_LUP, event); }
|
||||
void OnRightMouseClick(wxMouseEvent& event) { OnMouse(WXLOWIN_MENU_RCLICK, event); }
|
||||
void OnMiddleMouseDown(wxMouseEvent& event) { OnMouse(WXLOWIN_MENU_MDOWN, event); }
|
||||
void OnMouseDblClick(wxMouseEvent& event) { OnMouse(WXLOWIN_MENU_DBLCLICK, event); }
|
||||
void OnMouseMove(wxMouseEvent &event) { OnMouse(WXLOWIN_MENU_MOUSEMOVE, event) ; }
|
||||
void OnSetFocus(wxFocusEvent &ev);
|
||||
void OnKillFocus(wxFocusEvent &ev);
|
||||
//@}
|
||||
|
||||
/// Creates a wxMenu for use as a format popup.
|
||||
static wxMenu * MakeFormatMenu();
|
||||
|
||||
/// Redraws the window, used by RequestUpdate() or OnPaint().
|
||||
void InternalPaint(const wxRect *updateRect);
|
||||
|
||||
/** Tell window to update a wxStatusBar with UserData labels and
|
||||
cursor positions.
|
||||
@param bar wxStatusBar pointer
|
||||
@param labelfield field to use in statusbar for URLs/userdata labels, or -1 to disable
|
||||
@param cursorfield field to use for cursor position, or -1 to disable
|
||||
*/
|
||||
void SetStatusBar(class wxStatusBar *bar,
|
||||
int labelfield = -1,
|
||||
int cursorfield = -1)
|
||||
{
|
||||
m_StatusBar = bar; m_StatusFieldLabel = labelfield;
|
||||
m_StatusFieldCursor = cursorfield;
|
||||
}
|
||||
|
||||
/** Tell window to update a wxStatusBar with UserData labels and
|
||||
cursor positions.
|
||||
@param bar wxStatusBar pointer
|
||||
@param labelfield field to use in statusbar for URLs/userdata labels, or -1 to disable
|
||||
@param cursorfield field to use for cursor position, or -1 to disable
|
||||
*/
|
||||
void SetStatusBar(class wxStatusBar *bar,
|
||||
int labelfield = -1,
|
||||
int cursorfield = -1)
|
||||
{
|
||||
m_StatusBar = bar; m_StatusFieldLabel = labelfield;
|
||||
m_StatusFieldCursor = cursorfield;
|
||||
}
|
||||
#ifndef __WXMSW__
|
||||
/// Enable or disable focus follow mode under non-MSW
|
||||
void SetFocusFollowMode(bool enable = TRUE)
|
||||
{ m_FocusFollowMode = enable; }
|
||||
/// Enable or disable focus follow mode under non-MSW
|
||||
void SetFocusFollowMode(bool enable = true)
|
||||
{
|
||||
m_FocusFollowMode = enable;
|
||||
}
|
||||
#endif
|
||||
|
||||
/**@name Modified flag handling, will not get reset by list unless
|
||||
in Clear() */
|
||||
//@{
|
||||
/// Set dirty flag.
|
||||
void SetModified(bool modified = TRUE) { m_Modified = modified; }
|
||||
/// Query whether window needs redrawing.
|
||||
bool IsModified(void) const { return m_Modified; }
|
||||
//@}
|
||||
/** @name Modified flag handling, will not get reset by list unless
|
||||
in Clear() */
|
||||
//@{
|
||||
/// Set dirty flag.
|
||||
void SetModified(bool modified = true) { m_Modified = modified; }
|
||||
|
||||
/// Query whether window needs redrawing.
|
||||
bool IsModified() const { return m_Modified; }
|
||||
//@}
|
||||
|
||||
/**
|
||||
@name Dirty flag handling for optimisations.
|
||||
Normally one should only need to call SetDirty(), e.g. when
|
||||
manipulating the wxLayoutList directly, so the window will update
|
||||
itself. ResetDirty() and IsDirty() should only be used
|
||||
internally. */
|
||||
//@{
|
||||
/// Set dirty flag.
|
||||
void SetDirty() { m_Dirty = true; m_Modified = true; }
|
||||
|
||||
/// Query whether window needs redrawing.
|
||||
bool IsDirty() const { return m_Dirty; }
|
||||
|
||||
/// Reset dirty flag.
|
||||
void ResetDirty() { m_Dirty = false; }
|
||||
//@}
|
||||
|
||||
/**@name Dirty flag handling for optimisations.
|
||||
Normally one should only need to call SetDirty(), e.g. when
|
||||
manipulating the wxLayoutList directly, so the window will update
|
||||
itself. ResetDirty() and IsDirty() should only be used
|
||||
internally. */
|
||||
//@{
|
||||
/// Set dirty flag.
|
||||
void SetDirty(void) { m_Dirty = true; m_Modified = true; }
|
||||
/// Query whether window needs redrawing.
|
||||
bool IsDirty(void) const { return m_Dirty; }
|
||||
/// Reset dirty flag.
|
||||
void ResetDirty(void) { m_Dirty = false; }
|
||||
//@}
|
||||
|
||||
|
||||
protected:
|
||||
/// generic function for mouse events processing
|
||||
void OnMouse(int eventId, wxMouseEvent& event);
|
||||
/// as the name says
|
||||
void ScrollToCursor(void);
|
||||
/// for sending events
|
||||
wxWindow *m_Parent;
|
||||
/// Shall we send events?
|
||||
bool m_doSendEvents;
|
||||
/// Where does the current view start?
|
||||
int m_ViewStartX; int m_ViewStartY;
|
||||
/// Do we currently have the focus?
|
||||
bool m_HaveFocus;
|
||||
/// do we handle clicks of the right mouse button?
|
||||
bool m_DoPopupMenu;
|
||||
/// Should InternalPaint() scroll to cursor (VZ: seems unused any more)
|
||||
bool m_ScrollToCursor;
|
||||
/// Do we currently have a non-standard cursor?
|
||||
bool m_HandCursor;
|
||||
/// the menu
|
||||
wxMenu * m_PopupMenu;
|
||||
/// for derived classes, set when mouse is clicked
|
||||
wxPoint m_ClickPosition;
|
||||
/// for scrollbar calculations:
|
||||
int m_maxx;
|
||||
int m_maxy;
|
||||
int m_lineHeight;
|
||||
/// do we want automatic word wrap?
|
||||
bool m_DoWordWrap;
|
||||
/// wrap margin
|
||||
CoordType m_WrapMargin;
|
||||
/// generic function for mouse events processing
|
||||
void OnMouse(int eventId, wxMouseEvent& event);
|
||||
|
||||
/// do we have the corresponding scrollbar?
|
||||
bool m_hasHScrollbar,
|
||||
/// as the name says
|
||||
void ScrollToCursor();
|
||||
|
||||
/// for sending events
|
||||
wxWindow *m_Parent;
|
||||
|
||||
/// Shall we send events?
|
||||
bool m_doSendEvents;
|
||||
|
||||
/// Where does the current view start?
|
||||
int m_ViewStartX; int m_ViewStartY;
|
||||
|
||||
/// Do we currently have the focus?
|
||||
bool m_HaveFocus;
|
||||
|
||||
/// do we handle clicks of the right mouse button?
|
||||
bool m_DoPopupMenu;
|
||||
|
||||
/// Should InternalPaint() scroll to cursor (VZ: seems unused any more)
|
||||
bool m_ScrollToCursor;
|
||||
|
||||
/// Do we currently have a non-standard cursor?
|
||||
bool m_HandCursor;
|
||||
|
||||
/// the menu
|
||||
wxMenu * m_PopupMenu;
|
||||
|
||||
/// for derived classes, set when mouse is clicked
|
||||
wxPoint m_ClickPosition;
|
||||
|
||||
/// for scrollbar calculations:
|
||||
int m_maxx;
|
||||
int m_maxy;
|
||||
int m_lineHeight;
|
||||
|
||||
/// do we want automatic word wrap?
|
||||
bool m_DoWordWrap;
|
||||
|
||||
/// wrap margin
|
||||
CoordType m_WrapMargin;
|
||||
|
||||
/// do we have the corresponding scrollbar?
|
||||
bool m_hasHScrollbar,
|
||||
m_hasVScrollbar;
|
||||
|
||||
/** Visibility parameter for cursor. 0/1 as expected, -1: visible
|
||||
on demand.
|
||||
*/
|
||||
int m_CursorVisibility;
|
||||
/** Visibility parameter for cursor. 0/1 as expected, -1: visible
|
||||
on demand.
|
||||
*/
|
||||
int m_CursorVisibility;
|
||||
|
||||
bool SetAutoDeleteSelection(bool enable = TRUE)
|
||||
{
|
||||
bool old = m_AutoDeleteSelection;
|
||||
m_AutoDeleteSelection = enable;
|
||||
return old;
|
||||
}
|
||||
bool SetAutoDeleteSelection(bool enable = true)
|
||||
{
|
||||
bool old = m_AutoDeleteSelection;
|
||||
m_AutoDeleteSelection = enable;
|
||||
return old;
|
||||
}
|
||||
private:
|
||||
/// The layout list to be displayed.
|
||||
wxLayoutList *m_llist;
|
||||
/// Can user edit the window?
|
||||
bool m_Editable;
|
||||
/// Are we currently building a selection with the keyboard?
|
||||
bool m_Selecting;
|
||||
/// Has list changed since last redraw, e.g. in size?
|
||||
bool m_Dirty;
|
||||
/// Has the list ever been modified?
|
||||
bool m_Modified;
|
||||
wxMemoryDC *m_memDC;
|
||||
wxBitmap *m_bitmap;
|
||||
wxPoint m_bitmapSize;
|
||||
/// A frame's statusbar to update
|
||||
class wxStatusBar *m_StatusBar;
|
||||
/// statusbar field for labels
|
||||
int m_StatusFieldLabel;
|
||||
/// statusbar field for cursor positions
|
||||
int m_StatusFieldCursor;
|
||||
/// a pointer to a bitmap for the background
|
||||
wxBitmap *m_BGbitmap;
|
||||
/**@name Some configuration options */
|
||||
//@{
|
||||
/// Do we want to auto-replace the selection with new text?
|
||||
bool m_AutoDeleteSelection;
|
||||
/// The layout list to be displayed.
|
||||
wxLayoutList *m_llist;
|
||||
|
||||
/// Can user edit the window?
|
||||
bool m_Editable;
|
||||
|
||||
/// Are we currently building a selection with the keyboard?
|
||||
bool m_Selecting;
|
||||
|
||||
/// Has list changed since last redraw, e.g. in size?
|
||||
bool m_Dirty;
|
||||
|
||||
/// Has the list ever been modified?
|
||||
bool m_Modified;
|
||||
|
||||
wxMemoryDC *m_memDC;
|
||||
wxBitmap *m_bitmap;
|
||||
wxPoint m_bitmapSize;
|
||||
|
||||
/// A frame's statusbar to update
|
||||
class wxStatusBar *m_StatusBar;
|
||||
|
||||
/// statusbar field for labels
|
||||
int m_StatusFieldLabel;
|
||||
|
||||
/// statusbar field for cursor positions
|
||||
int m_StatusFieldCursor;
|
||||
|
||||
/// a pointer to a bitmap for the background
|
||||
wxBitmap *m_BGbitmap;
|
||||
|
||||
/**@name Some configuration options */
|
||||
//@{
|
||||
/// Do we want to auto-replace the selection with new text?
|
||||
bool m_AutoDeleteSelection;
|
||||
|
||||
#ifndef __WXMSW__
|
||||
/// Do we want the focus to follow the mouse?
|
||||
bool m_FocusFollowMode;
|
||||
/// Do we want the focus to follow the mouse?
|
||||
bool m_FocusFollowMode;
|
||||
#endif
|
||||
/// For finding text and finding it again:
|
||||
wxString m_FindString;
|
||||
/// For finding text and finding it again:
|
||||
wxString m_FindString;
|
||||
//@}
|
||||
DECLARE_EVENT_TABLE()
|
||||
|
||||
DECLARE_EVENT_TABLE()
|
||||
};
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user