From f42b1601d6a55f3c2b7e7c22894727bda70d8505 Mon Sep 17 00:00:00 2001 From: Robin Dunn Date: Mon, 13 Sep 1999 05:27:36 +0000 Subject: [PATCH] Fixed some compile errors (MSVC++ 6) and some very strange link errors when building a DLL. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3627 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/html/helpctrl.h | 14 +++++++------ include/wx/html/helpdata.h | 40 +++++++++++++++++++------------------- include/wx/html/helpfrm.h | 30 ++++++++++++++-------------- src/html/helpctrl.cpp | 4 +++- src/html/helpdata.cpp | 28 +++++++++++++------------- src/html/mod_image.cpp | 8 ++++---- src/html/mod_links.cpp | 10 +++++----- 7 files changed, 69 insertions(+), 65 deletions(-) diff --git a/include/wx/html/helpctrl.h b/include/wx/html/helpctrl.h index 77e84f1e95..532c7e92f4 100644 --- a/include/wx/html/helpctrl.h +++ b/include/wx/html/helpctrl.h @@ -1,7 +1,7 @@ ///////////////////////////////////////////////////////////////////////////// // Name: helpctrl.h // Purpose: wxHtmlHelpController -// Notes: Based on htmlhelp.cpp, implementing a monolithic +// Notes: Based on htmlhelp.cpp, implementing a monolithic // HTML Help controller class, by Vaclav Slavik // Author: Harm van der Heijden and Vaclav Slavik // Created: @@ -25,6 +25,8 @@ class WXDLLEXPORT wxHtmlHelpController : public wxEvtHandler { + DECLARE_DYNAMIC_CLASS(wxHtmlHelpController) + public: wxHtmlHelpController(); virtual ~wxHtmlHelpController(); @@ -32,8 +34,8 @@ public: void SetTitleFormat(const wxString& format); void SetTempDir(const wxString& path) { m_helpData.SetTempDir(path); } bool AddBook(const wxString& book, bool show_wait_msg = FALSE); - bool Display(const wxString& x) { - CreateHelpWindow(); return m_helpFrame->Display(x); + bool Display(const wxString& x) { + CreateHelpWindow(); return m_helpFrame->Display(x); } bool Display(int id) { CreateHelpWindow(); return m_helpFrame->Display(id); @@ -58,9 +60,9 @@ public: virtual void ReadCustomization(wxConfigBase *cfg, const wxString& path = wxEmptyString); virtual void WriteCustomization(wxConfigBase *cfg, const wxString& path = wxEmptyString); virtual void CreateHelpWindow(bool show_progress = FALSE); - virtual void DestroyHelpWindow() { + virtual void DestroyHelpWindow() { //if (m_Config) WriteCustomization(m_Config, m_ConfigRoot); - if (m_helpFrame) m_helpFrame->Destroy(); + if (m_helpFrame) m_helpFrame->Destroy(); } protected: void OnCloseFrame(wxCloseEvent& evt) { m_helpFrame = NULL; evt.Skip(); } @@ -72,6 +74,6 @@ protected: DECLARE_EVENT_TABLE() }; -#endif +#endif #endif // _WX_HELPCTRL_H_ diff --git a/include/wx/html/helpdata.h b/include/wx/html/helpdata.h index 22c3d7ccf7..a731bed94b 100644 --- a/include/wx/html/helpdata.h +++ b/include/wx/html/helpdata.h @@ -1,7 +1,7 @@ ///////////////////////////////////////////////////////////////////////////// // Name: helpdata.h // Purpose: wxHtmlHelpData -// Notes: Based on htmlhelp.cpp, implementing a monolithic +// Notes: Based on htmlhelp.cpp, implementing a monolithic // HTML Help controller class, by Vaclav Slavik // Author: Harm van der Heijden and Vaclav Slavik // Created: @@ -33,7 +33,7 @@ class WXDLLEXPORT wxHtmlBookRecord : public wxObject { public: - wxHtmlBookRecord(const wxString& basepath, const wxString& title, + wxHtmlBookRecord(const wxString& basepath, const wxString& title, const wxString& start) { m_BasePath = basepath; m_Title = title; m_Start = start; // for debugging, give the contents index obvious default values @@ -45,11 +45,11 @@ public: /* SetContentsRange: store in the bookrecord where in the index/contents lists the * book's records are stored. This to facilitate searching in a specific book. * This code will have to be revised when loading/removing books becomes dynamic. - * (as opposed to appending only) + * (as opposed to appending only) * Note that storing index range is pointless, because the index is alphab. sorted. */ void SetContentsRange(int start, int end) { contents_start = start; contents_end = end; } - GetContentsStart() const { return contents_start; } - GetContentsEnd() const { return contents_end; } + int GetContentsStart() const { return contents_start; } + int GetContentsEnd() const { return contents_end; } protected: wxString m_BasePath; wxString m_Title; @@ -82,7 +82,7 @@ typedef struct // This class takes input streams and scans them for occurence // of keyword(s) //------------------------------------------------------------------------------ -class wxSearchEngine : public wxObject +class WXDLLEXPORT wxSearchEngine : public wxObject { private: char *m_Keyword; @@ -90,7 +90,7 @@ private: public: wxSearchEngine() : wxObject() {m_Keyword = NULL;} ~wxSearchEngine() {if (m_Keyword) free(m_Keyword);} - + virtual void LookFor(const wxString& keyword); // Sets the keyword we will be searching for @@ -103,7 +103,7 @@ class wxHtmlHelpData; // State information of a search action. I'd have prefered to make this a nested // class inside wxHtmlHelpData, but that's against coding standards :-( -// Never construct this class yourself, obtain a copy from +// Never construct this class yourself, obtain a copy from // wxHtmlHelpData::PrepareKeywordSearch(const wxString& key) class WXDLLEXPORT wxHtmlSearchStatus { @@ -122,10 +122,10 @@ private: wxHtmlHelpData* m_Data; wxSearchEngine m_Engine; wxString m_Keyword, m_Name, m_LastPage; - wxHtmlContentsItem* m_ContentsItem; + wxHtmlContentsItem* m_ContentsItem; bool m_Active; // search is not finished int m_CurIndex; // where we are now - int m_MaxIndex; // number of files we search + int m_MaxIndex; // number of files we search // For progress bar: 100*curindex/maxindex = % complete }; @@ -138,21 +138,21 @@ class WXDLLEXPORT wxHtmlHelpData : public wxObject public: wxHtmlHelpData(); ~wxHtmlHelpData(); - + void SetTempDir(const wxString& path); // Sets directory where temporary files are stored. // These temp files are index & contents file in binary (much faster to read) // form. These files are NOT deleted on program's exit. - + bool AddBook(const wxString& book); // Adds new book. 'book' is location of .htb file (stands for "html book"). // See documentation for details on its format. // Returns success. - bool AddBookParam(const wxString& title, const wxString& contfile, - const wxString& indexfile=wxEmptyString, - const wxString& deftopic=wxEmptyString, + bool AddBookParam(const wxString& title, const wxString& contfile, + const wxString& indexfile=wxEmptyString, + const wxString& deftopic=wxEmptyString, const wxString& path=wxEmptyString); - + // Some accessing stuff wxString FindPageByName(const wxString& page); // returns URL of page on basis of (file)name @@ -164,10 +164,10 @@ public: int GetContentsCnt() { return m_ContentsCnt; } wxHtmlContentsItem* GetIndex() { return m_Index; } int GetIndexCnt() { return m_IndexCnt; } - + protected: wxString m_TempPath; - + wxHtmlBookRecArray m_BookRecords; // each book has one record in this array wxHtmlContentsItem* m_Contents; @@ -176,9 +176,9 @@ protected: wxHtmlContentsItem* m_Index; int m_IndexCnt; // list of index items - + protected: - bool LoadMSProject(wxHtmlBookRecord *book, wxFileSystem& fsys, + bool LoadMSProject(wxHtmlBookRecord *book, wxFileSystem& fsys, const wxString& indexfile, const wxString& contentsfile); // Imports .hhp files (MS HTML Help Workshop) bool LoadCachedBook(wxHtmlBookRecord *book, wxInputStream *f); diff --git a/include/wx/html/helpfrm.h b/include/wx/html/helpfrm.h index 8dca2c6889..5f2de5df08 100644 --- a/include/wx/html/helpfrm.h +++ b/include/wx/html/helpfrm.h @@ -1,7 +1,7 @@ ///////////////////////////////////////////////////////////////////////////// // Name: helpfrm.h // Purpose: wxHtmlHelpFrame -// Notes: Based on htmlhelp.cpp, implementing a monolithic +// Notes: Based on htmlhelp.cpp, implementing a monolithic // HTML Help controller class, by Vaclav Slavik // Author: Harm van der Heijden and Vaclav Slavik // Created: @@ -61,25 +61,25 @@ class WXDLLEXPORT wxHtmlHelpFrame : public wxFrame public: wxHtmlHelpFrame(wxHtmlHelpData* data = NULL) { Init(data); } - wxHtmlHelpFrame(wxWindow* parent, int wxWindowID, + wxHtmlHelpFrame(wxWindow* parent, int wxWindowID, const wxString& title = wxEmptyString, int style = wxHF_DEFAULTSTYLE, wxHtmlHelpData* data = NULL); bool Create(wxWindow* parent, wxWindowID id, const wxString& title = wxEmptyString, int style = wxHF_DEFAULTSTYLE); ~wxHtmlHelpFrame(); - + wxHtmlHelpData* GetData() { return m_Data; } - + void SetTitleFormat(const wxString& format) { - if (m_HtmlWin) + if (m_HtmlWin) m_HtmlWin->SetRelatedFrame(this, format); m_TitleFormat = format; } // Sets format of title of the frame. Must contain exactly one "%s" // (for title of displayed HTML page) - + bool Display(const wxString& x); - // Displays page x. If not found it will offect the user a choice of + // Displays page x. If not found it will offect the user a choice of // searching books. // Looking for the page runs in these steps: // 1. try to locate file named x (if x is for example "doc/howto.htm") @@ -89,13 +89,13 @@ public: bool Display(const int id); // Alternative version that works with numeric ID. // (uses extension to MS format, , see docs) - + bool DisplayContents(); // Displays help window and focuses contents. - + bool DisplayIndex(); // Displays help window and focuses index. - + bool KeywordSearch(const wxString& keyword); // Searches for keyword. Returns TRUE and display page if found, return // FALSE otherwise @@ -136,7 +136,7 @@ public: IMG_Folder, IMG_Page }; - + protected: wxHtmlHelpData* m_Data; bool m_DataCreated; // m_Data created by frame, or supplied? @@ -150,17 +150,17 @@ protected: wxListBox *m_IndexBox; wxTextCtrl *m_SearchText; wxButton *m_SearchButton; - wxListBox *m_SearchList; + wxListBox *m_SearchList; wxChoice *m_SearchChoice; - struct { + struct WXDLLEXPORT _struct_Cfg { long x, y, w, h; long sashpos; bool navig_on; int style; // flags given to wxHtmlHelpFrame ctor wxString titleformat; } m_Cfg; - // settings (window size, position, sash pos etc..) + // settings (window size, position, sash pos etc..) wxConfigBase *m_Config; wxString m_ConfigRoot; @@ -168,7 +168,7 @@ protected: int m_ContentsPage; int m_IndexPage; int m_SearchPage; - + protected: void Init(wxHtmlHelpData* data = NULL); diff --git a/src/html/helpctrl.cpp b/src/html/helpctrl.cpp index d40ac14e76..853dbc343a 100644 --- a/src/html/helpctrl.cpp +++ b/src/html/helpctrl.cpp @@ -1,7 +1,7 @@ ///////////////////////////////////////////////////////////////////////////// // Name: helpctrl.cpp // Purpose: wxHtmlHelpController -// Notes: Based on htmlhelp.cpp, implementing a monolithic +// Notes: Based on htmlhelp.cpp, implementing a monolithic // HTML Help controller class, by Vaclav Slavik // Author: Harm van der Heijden and Vaclav Slavik // Created: @@ -29,6 +29,8 @@ #include "wx/wx.h" #include "wx/busyinfo.h" +IMPLEMENT_DYNAMIC_CLASS(wxHtmlHelpController, wxEvtHandler) + BEGIN_EVENT_TABLE(wxHtmlHelpController, wxEvtHandler) EVT_CLOSE(wxHtmlHelpController::OnCloseFrame) END_EVENT_TABLE() diff --git a/src/html/helpdata.cpp b/src/html/helpdata.cpp index fb87c1af12..b3c25e134d 100644 --- a/src/html/helpdata.cpp +++ b/src/html/helpdata.cpp @@ -1,7 +1,7 @@ ///////////////////////////////////////////////////////////////////////////// // Name: helpdata.cpp // Purpose: wxHtmlHelpData -// Notes: Based on htmlhelp.cpp, implementing a monolithic +// Notes: Based on htmlhelp.cpp, implementing a monolithic // HTML Help controller class, by Vaclav Slavik // Author: Harm van der Heijden and Vaclav Slavik // Created: @@ -141,7 +141,7 @@ bool HP_TagHandler::HandleTag(const wxHtmlTag& tag) else { // "PARAM" if (m_Name == wxEmptyString && tag.GetParam("NAME") == "Name") m_Name = tag.GetParam("VALUE"); if (tag.GetParam("NAME") == "Local") m_Page = tag.GetParam("VALUE"); - if (tag.GetParam("NAME") == "ID") tag.ScanParam("VALUE", "%i", &m_ID); + if (tag.GetParam("NAME") == "ID") tag.ScanParam("VALUE", "%i", &m_ID); return FALSE; } } @@ -168,7 +168,7 @@ void HP_TagHandler::ReadIn(wxHtmlContentsItem* array, int size) IMPLEMENT_DYNAMIC_CLASS(wxHtmlHelpData, wxObject) -wxHtmlHelpData::wxHtmlHelpData() +wxHtmlHelpData::wxHtmlHelpData() { m_TempPath = wxEmptyString; @@ -205,7 +205,7 @@ bool wxHtmlHelpData::LoadMSProject(wxHtmlBookRecord *book, wxFileSystem& fsys, c char *buf; int sz; wxString string; - + HP_Parser parser; HP_TagHandler *handler = new HP_TagHandler(book); parser.AddTagHandler(handler); @@ -338,15 +338,15 @@ void wxHtmlHelpData::SetTempDir(const wxString& path) } -bool wxHtmlHelpData::AddBookParam(const wxString& title, const wxString& contfile, - const wxString& indexfile, const wxString& deftopic, +bool wxHtmlHelpData::AddBookParam(const wxString& title, const wxString& contfile, + const wxString& indexfile, const wxString& deftopic, const wxString& path) { wxFileSystem fsys; wxFSFile *fi; wxHtmlBookRecord *bookr; wxString safetitle; - + if (! path.IsEmpty()) // workaround for bug in ChangePathTo(name, TRUE) fsys.ChangePathTo(path+"/gaga"); @@ -389,7 +389,7 @@ bool wxHtmlHelpData::AddBookParam(const wxString& title, const wxString& contfil m_BookRecords.Add(bookr); if (m_IndexCnt > 0) qsort(m_Index, m_IndexCnt, sizeof(wxHtmlContentsItem), IndexCompareFunc); - + return TRUE; } @@ -404,12 +404,12 @@ bool wxHtmlHelpData::AddBook(const wxString& book) int sz; char *buff, *lineptr; char linebuf[300]; - + wxString title = _("noname"), safetitle, start = wxEmptyString, contents = wxEmptyString, index = wxEmptyString; - + if (wxIsAbsolutePath(book)) bookFull = book; else bookFull = wxGetCwd() + "/" + book; @@ -494,7 +494,7 @@ wxString wxHtmlHelpData::FindPageByName(const wxString& x) } wxString wxHtmlHelpData::FindPageById(int id) -{ +{ int i; wxString url(wxEmptyString); @@ -513,7 +513,7 @@ wxString wxHtmlHelpData::FindPageById(int id) //---------------------------------------------------------------------------------- wxHtmlSearchStatus::wxHtmlSearchStatus(wxHtmlHelpData* data, const wxString& keyword, - const wxString& book = wxEmptyString) + const wxString& book) { m_Data = data; m_Keyword = keyword; @@ -529,7 +529,7 @@ wxHtmlSearchStatus::wxHtmlSearchStatus(wxHtmlHelpData* data, const wxString& key break; } // check; we won't crash if the book doesn't exist, but it's Bad Anyway. - wxASSERT(bookr); + wxASSERT(bookr); } if (! bookr) { // no book specified; search all books @@ -557,7 +557,7 @@ bool wxHtmlSearchStatus::Search() m_ContentsItem = NULL; m_Name = wxEmptyString; - file = fsys.OpenFile(m_Data->m_Contents[i].m_Book -> GetBasePath() + + file = fsys.OpenFile(m_Data->m_Contents[i].m_Book -> GetBasePath() + m_Data->m_Contents[i].m_Page); if (file) { if (m_LastPage != file->GetLocation()) { diff --git a/src/html/mod_image.cpp b/src/html/mod_image.cpp index b48281cc7f..fda3e4ad52 100644 --- a/src/html/mod_image.cpp +++ b/src/html/mod_image.cpp @@ -26,7 +26,7 @@ #include "wx/html/forcelink.h" #include "wx/html/mod_templ.h" -#include "wx/wxhtml.h" + #include "wx/image.h" #include "wx/dynarray.h" @@ -140,12 +140,12 @@ wxString wxHtmlImageMapAreaCell::GetLink( int x, int y ) const (coords[pointer] - yval)) >= wherex) ? 1 : 0; } } - - while (pointer < end) + + while (pointer < end) { yval = coords[pointer]; pointer += 2; - if (yval >= wherey) + if (yval >= wherey) { while((pointer < end) && (coords[pointer] >= wherey)) { diff --git a/src/html/mod_links.cpp b/src/html/mod_links.cpp index dceb9024af..b3c6ec943f 100644 --- a/src/html/mod_links.cpp +++ b/src/html/mod_links.cpp @@ -25,7 +25,7 @@ #include #include -#include + FORCE_LINK_ME(mod_links) @@ -34,16 +34,16 @@ class wxHtmlAnchorCell : public wxHtmlCell { private: wxString m_AnchorName; - + public: wxHtmlAnchorCell(const wxString& name) : wxHtmlCell() {m_AnchorName = name;} virtual const wxHtmlCell* Find(int condition, const void* param) const { if ((condition == HTML_COND_ISANCHOR) && (m_AnchorName == (*((const wxString*)param)))) return this; - else + else return wxHtmlCell::Find(condition, param); - } + } }; @@ -55,7 +55,7 @@ TAG_HANDLER_BEGIN(A, "A") if (tag.HasParam("NAME")) { m_WParser -> GetContainer() -> InsertCell(new wxHtmlAnchorCell(tag.GetParam("NAME"))); } - + if (tag.HasParam("HREF")) { wxString oldlnk = m_WParser -> GetLink(); wxColour oldclr = m_WParser -> GetActualColor(); -- 2.45.2