enum {
wxHW_SCROLLBAR_NEVER,
wxHW_SCROLLBAR_AUTO,
+ wxHW_NO_SELECTION,
+ wxHW_DEFAULT_STYLE,
};
//---------------------------------------------------------------------------
+
+enum
+{
+ wxHTML_FIND_EXACT = 1,
+ wxHTML_FIND_NEAREST_BEFORE = 2,
+ wxHTML_FIND_NEAREST_AFTER = 4
+};
+
+
class wxHtmlCell : public wxObject {
public:
wxHtmlCell();
wxHtmlLinkInfo* GetLink(int x = 0, int y = 0);
wxHtmlCell* GetNext();
wxHtmlContainerCell* GetParent();
+ wxHtmlCell* GetFirstChild() const;
+
+ // Returns cursor to be used when mouse is over the cell:
+ wxCursor GetCursor() const;
+
+ // Formatting cells are not visible on the screen, they only alter
+ // renderer's state.
+ bool IsFormattingCell() const;
+
+
void SetLink(const wxHtmlLinkInfo& link);
void SetNext(wxHtmlCell *cell);
void SetParent(wxHtmlContainerCell *p);
bool AdjustPagebreak(int* INOUT);
void SetCanLiveOnPagebreak(bool can);
+ // Can the line be broken before this cell?
+ bool IsLinebreakAllowed() const;
+
+ // Returns true for simple == terminal cells, i.e. not composite ones.
+ // This if for internal usage only and may disappear in future versions!
+ bool IsTerminalCell() const;
+
+ // Find a cell inside this cell positioned at the given coordinates
+ // (relative to this's positions). Returns NULL if no such cell exists.
+ // The flag can be used to specify whether to look for terminal or
+ // nonterminal cells or both. In either case, returned cell is deepest
+ // cell in cells tree that contains [x,y].
+ wxHtmlCell *FindCellByPos(wxCoord x, wxCoord y,
+ unsigned flags = wxHTML_FIND_EXACT) const;
+
+ // Returns absolute position of the cell on HTML canvas
+ wxPoint GetAbsPos() const;
+
+ // Returns first (last) terminal cell inside this cell. It may return NULL,
+ // but it is rare -- only if there are no terminals in the tree.
+ wxHtmlCell *GetFirstTerminal() const ;
+ wxHtmlCell *GetLastTerminal() const ;
+
+ // Returns cell's depth, i.e. how far under the root cell it is
+ // (if it is the root, depth is 0)
+ unsigned GetDepth() const;
+
+ // Returns true if the cell appears before 'cell' in natural order of
+ // cells (= as they are read). If cell A is (grand)parent of cell B,
+ // then both A.IsBefore(B) and B.IsBefore(A) always return true.
+ bool IsBefore(wxHtmlCell *cell) const;
+
+ // Converts the cell into text representation. If sel != NULL then
+ // only part of the cell inside the selection is converted.
+ wxString ConvertToText(wxHtmlSelection *sel) const;
};
wxPyHtmlWindow(wxWindow *parent, wxWindowID id = -1,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
- long style = wxHW_SCROLLBAR_AUTO,
+ long style = wxHW_DEFAULT_STYLE,
const wxString& name = wxPyHtmlWindowNameStr)
: wxHtmlWindow(parent, id, pos, size, style, name) {};
wxPyHtmlWindow() : wxHtmlWindow() {};
wxPyHtmlWindow(wxWindow *parent, int id = -1,
wxPoint& pos = wxDefaultPosition,
wxSize& size = wxDefaultSize,
- int style=wxHW_SCROLLBAR_AUTO,
+ int style=wxHW_DEFAULT_STYLE,
const wxString& name = wxPyHtmlWindowNameStr);
%name(wxPreHtmlWindow)wxPyHtmlWindow();
delete [] temp;
}
}
- int Render(int x, int y, int from = 0, int dont_render = FALSE);
+ int Render(int x, int y, int from = 0, int dont_render = FALSE, int to = INT_MAX,
+ //int *known_pagebreaks = NULL, int number_of_pages = 0
+ int* choices=NULL, int LCOUNT = 0
+ );
int GetTotalHeight();
// returns total height of the html document
// (compare Render's return value with this)
void SetMargins(float top = 25.2, float bottom = 25.2,
float left = 25.2, float right = 25.2,
float spaces = 5);
+
+ // Adds input filter
+ static void AddFilter(wxHtmlFilter *filter);
+
+ // Cleanup
+ static void CleanUpStatics();
};
class wxHtmlEasyPrinting : public wxObject {
public:
wxHtmlEasyPrinting(const wxString& name = wxPyHtmlPrintingTitleStr,
- wxFrame *parent_frame = NULL);
+ wxWindow *parentWindow = NULL);
~wxHtmlEasyPrinting();
void PreviewFile(const wxString &htmlfile);
};
-
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
inithtmlhelpc();
- wxClassInfo::CleanUpClasses();
- wxClassInfo::InitializeClasses();
-
wxPyPtrTypeMap_Add("wxHtmlTagHandler", "wxPyHtmlTagHandler");
wxPyPtrTypeMap_Add("wxHtmlWinTagHandler", "wxPyHtmlWinTagHandler");
wxPyPtrTypeMap_Add("wxHtmlWindow", "wxPyHtmlWindow");