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
This commit is contained in:
@@ -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_
|
||||
|
@@ -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);
|
||||
|
@@ -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, <param name="ID" value=id>, 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);
|
||||
|
||||
|
@@ -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()
|
||||
|
@@ -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()) {
|
||||
|
@@ -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))
|
||||
{
|
||||
|
@@ -25,7 +25,7 @@
|
||||
|
||||
#include <wx/html/forcelink.h>
|
||||
#include <wx/html/mod_templ.h>
|
||||
#include <wx/wxhtml.h>
|
||||
|
||||
|
||||
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();
|
||||
|
Reference in New Issue
Block a user