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:
Robin Dunn
1999-09-13 05:27:36 +00:00
parent e6a5dc94a4
commit f42b1601d6
7 changed files with 69 additions and 65 deletions

View File

@@ -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_

View File

@@ -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);

View File

@@ -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);

View File

@@ -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()

View File

@@ -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()) {

View File

@@ -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))
{

View File

@@ -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();