mirror of
https://github.com/TES3MP/openmw-tes3mp.git
synced 2025-01-31 22:45:33 +00:00
drop the leading 'I' from the book page control interfaces
This commit is contained in:
parent
4c22afc29b
commit
36a6806faf
8 changed files with 134 additions and 134 deletions
|
@ -15,9 +15,9 @@
|
|||
|
||||
namespace MWGui
|
||||
{
|
||||
struct TypesetBook;
|
||||
struct TypesetBookImpl;
|
||||
struct PageDisplay;
|
||||
struct BookPage;
|
||||
struct BookPageImpl;
|
||||
}
|
||||
|
||||
using namespace MyGUI;
|
||||
|
@ -27,16 +27,16 @@ static bool ucs_space (int code_point);
|
|||
static bool ucs_line_break (int code_point);
|
||||
static bool ucs_breaking_space (int code_point);
|
||||
|
||||
struct IBookTypesetter::IStyle { virtual ~IStyle () {} };
|
||||
struct BookTypesetter::Style { virtual ~Style () {} };
|
||||
|
||||
struct MWGui::TypesetBook : ITypesetBook
|
||||
struct MWGui::TypesetBookImpl : TypesetBook
|
||||
{
|
||||
typedef std::vector <uint8_t> content;
|
||||
typedef std::list <content> contents;
|
||||
typedef utf8_stream::point utf8_point;
|
||||
typedef std::pair <utf8_point, utf8_point> range;
|
||||
|
||||
struct Style : IBookTypesetter::IStyle
|
||||
struct StyleImpl : BookTypesetter::Style
|
||||
{
|
||||
IFont* mFont;
|
||||
Colour mHotColour;
|
||||
|
@ -66,11 +66,11 @@ struct MWGui::TypesetBook : ITypesetBook
|
|||
}
|
||||
};
|
||||
|
||||
typedef std::list <Style> styles;
|
||||
typedef std::list <StyleImpl> styles;
|
||||
|
||||
struct Run
|
||||
{
|
||||
Style* mStyle;
|
||||
StyleImpl* mStyle;
|
||||
range mRange;
|
||||
int mLeft, mRight;
|
||||
int mPrintableChars;
|
||||
|
@ -103,9 +103,9 @@ struct MWGui::TypesetBook : ITypesetBook
|
|||
styles mStyles;
|
||||
IntRect mRect;
|
||||
|
||||
virtual ~TypesetBook () {}
|
||||
virtual ~TypesetBookImpl () {}
|
||||
|
||||
range addContent (IBookTypesetter::utf8_span Text)
|
||||
range addContent (BookTypesetter::utf8_span Text)
|
||||
{
|
||||
contents::iterator i = mContents.insert (mContents.end (), content (Text.first, Text.second));
|
||||
|
||||
|
@ -151,7 +151,7 @@ struct MWGui::TypesetBook : ITypesetBook
|
|||
visitRuns (top, bottom, NULL, Visitor);
|
||||
}
|
||||
|
||||
Style * hitTest (int left, int top) const
|
||||
StyleImpl * hitTest (int left, int top) const
|
||||
{
|
||||
for (sections::const_iterator i = mSections.begin (); i != mSections.end (); ++i)
|
||||
{
|
||||
|
@ -180,7 +180,7 @@ struct MWGui::TypesetBook : ITypesetBook
|
|||
return nullptr;
|
||||
}
|
||||
|
||||
IFont* affectedFont (Style* Style)
|
||||
IFont* affectedFont (StyleImpl* Style)
|
||||
{
|
||||
for (styles::iterator i = mStyles.begin (); i != mStyles.end (); ++i)
|
||||
if (&*i == Style)
|
||||
|
@ -191,9 +191,9 @@ struct MWGui::TypesetBook : ITypesetBook
|
|||
struct Typesetter;
|
||||
};
|
||||
|
||||
struct TypesetBook::Typesetter : IBookTypesetter
|
||||
struct TypesetBookImpl::Typesetter : BookTypesetter
|
||||
{
|
||||
typedef TypesetBook book;
|
||||
typedef TypesetBookImpl book;
|
||||
typedef boost::shared_ptr <book> book_ptr;
|
||||
|
||||
int mPageWidth;
|
||||
|
@ -222,13 +222,13 @@ struct TypesetBook::Typesetter : IBookTypesetter
|
|||
{
|
||||
}
|
||||
|
||||
IStyle * createStyle (char const * FontName, Colour FontColour)
|
||||
Style * createStyle (char const * FontName, Colour FontColour)
|
||||
{
|
||||
for (styles::iterator i = mBook->mStyles.begin (); i != mBook->mStyles.end (); ++i)
|
||||
if (i->match (FontName, FontColour, FontColour, FontColour, 0))
|
||||
return &*i;
|
||||
|
||||
Style & style = *mBook->mStyles.insert (mBook->mStyles.end (), Style ());
|
||||
StyleImpl & style = *mBook->mStyles.insert (mBook->mStyles.end (), StyleImpl ());
|
||||
|
||||
style.mFont = FontManager::getInstance().getByName(FontName);
|
||||
style.mHotColour = FontColour;
|
||||
|
@ -239,16 +239,16 @@ struct TypesetBook::Typesetter : IBookTypesetter
|
|||
return &style;
|
||||
}
|
||||
|
||||
IStyle* createHotStyle (IStyle * _BaseStyle, coulour NormalColour, coulour HoverColour, coulour ActiveColour, interactive_id Id, bool Unique)
|
||||
Style* createHotStyle (Style* _BaseStyle, coulour NormalColour, coulour HoverColour, coulour ActiveColour, interactive_id Id, bool Unique)
|
||||
{
|
||||
Style* BaseStyle = dynamic_cast <Style*> (_BaseStyle);
|
||||
StyleImpl* BaseStyle = dynamic_cast <StyleImpl*> (_BaseStyle);
|
||||
|
||||
if (!Unique)
|
||||
for (styles::iterator i = mBook->mStyles.begin (); i != mBook->mStyles.end (); ++i)
|
||||
if (i->match (BaseStyle->mFont, HoverColour, ActiveColour, NormalColour, Id))
|
||||
return &*i;
|
||||
|
||||
Style & style = *mBook->mStyles.insert (mBook->mStyles.end (), Style ());
|
||||
StyleImpl & style = *mBook->mStyles.insert (mBook->mStyles.end (), StyleImpl ());
|
||||
|
||||
style.mFont = BaseStyle->mFont;
|
||||
style.mHotColour = HoverColour;
|
||||
|
@ -259,11 +259,11 @@ struct TypesetBook::Typesetter : IBookTypesetter
|
|||
return &style;
|
||||
}
|
||||
|
||||
void write (IStyle * _Style, utf8_span Text)
|
||||
void write (Style * _Style, utf8_span Text)
|
||||
{
|
||||
range text = mBook->addContent (Text);
|
||||
|
||||
write_impl (dynamic_cast <Style*> (_Style), text.first, text.second);
|
||||
write_impl (dynamic_cast <StyleImpl*> (_Style), text.first, text.second);
|
||||
}
|
||||
|
||||
intptr_t add_content (utf8_span Text, bool Select)
|
||||
|
@ -281,7 +281,7 @@ struct TypesetBook::Typesetter : IBookTypesetter
|
|||
mCurrentContent = reinterpret_cast <content const *> (contentHandle);
|
||||
}
|
||||
|
||||
void write (IStyle * style, size_t begin, size_t end)
|
||||
void write (Style * style, size_t begin, size_t end)
|
||||
{
|
||||
assert (mCurrentContent != NULL);
|
||||
assert (end <= mCurrentContent->size ());
|
||||
|
@ -290,7 +290,7 @@ struct TypesetBook::Typesetter : IBookTypesetter
|
|||
utf8_point begin_ = &mCurrentContent->front () + begin;
|
||||
utf8_point end_ = &mCurrentContent->front () + end ;
|
||||
|
||||
write_impl (dynamic_cast <Style*> (style), begin_, end_);
|
||||
write_impl (dynamic_cast <StyleImpl*> (style), begin_, end_);
|
||||
}
|
||||
|
||||
void lineBreak (float margin)
|
||||
|
@ -321,7 +321,7 @@ struct TypesetBook::Typesetter : IBookTypesetter
|
|||
mCurrentAlignment = sectionAlignment;
|
||||
}
|
||||
|
||||
ITypesetBook::ptr complete ()
|
||||
TypesetBook::ptr complete ()
|
||||
{
|
||||
int curPageStart = 0;
|
||||
int curPageStop = 0;
|
||||
|
@ -381,7 +381,7 @@ struct TypesetBook::Typesetter : IBookTypesetter
|
|||
return mBook;
|
||||
}
|
||||
|
||||
void write_impl (Style * Style, utf8_stream::point _begin, utf8_stream::point _end)
|
||||
void write_impl (StyleImpl * Style, utf8_stream::point _begin, utf8_stream::point _end)
|
||||
{
|
||||
int line_height = Style->mFont->getDefaultHeight ();
|
||||
|
||||
|
@ -443,7 +443,7 @@ struct TypesetBook::Typesetter : IBookTypesetter
|
|||
}
|
||||
}
|
||||
|
||||
void append_run (Style * style, utf8_stream::point begin, utf8_stream::point end, int pc, int right, int bottom)
|
||||
void append_run (StyleImpl * style, utf8_stream::point begin, utf8_stream::point end, int pc, int right, int bottom)
|
||||
{
|
||||
if (mSection == NULL)
|
||||
{
|
||||
|
@ -501,9 +501,9 @@ struct TypesetBook::Typesetter : IBookTypesetter
|
|||
}
|
||||
};
|
||||
|
||||
IBookTypesetter::ptr IBookTypesetter::create (int pageWidth, int pageHeight)
|
||||
BookTypesetter::ptr BookTypesetter::create (int pageWidth, int pageHeight)
|
||||
{
|
||||
return boost::make_shared <TypesetBook::Typesetter> (pageWidth, pageHeight);
|
||||
return boost::make_shared <TypesetBookImpl::Typesetter> (pageWidth, pageHeight);
|
||||
}
|
||||
|
||||
namespace
|
||||
|
@ -684,9 +684,9 @@ class MWGui::PageDisplay : public ISubWidgetText
|
|||
MYGUI_RTTI_DERIVED(PageDisplay)
|
||||
protected:
|
||||
|
||||
typedef TypesetBook::Section Section;
|
||||
typedef TypesetBook::Line Line;
|
||||
typedef TypesetBook::Run Run;
|
||||
typedef TypesetBookImpl::Section Section;
|
||||
typedef TypesetBookImpl::Line Line;
|
||||
typedef TypesetBookImpl::Run Run;
|
||||
|
||||
struct TextFormat : ISubWidget
|
||||
{
|
||||
|
@ -739,7 +739,7 @@ protected:
|
|||
|
||||
public:
|
||||
|
||||
typedef TypesetBook::Style style;
|
||||
typedef TypesetBookImpl::StyleImpl style;
|
||||
typedef std::map <TextFormat::id, TextFormat*> active_text_formats;
|
||||
|
||||
int mViewTop;
|
||||
|
@ -751,7 +751,7 @@ public:
|
|||
boost::function <void (intptr_t)> mLinkClicked;
|
||||
|
||||
|
||||
boost::shared_ptr <TypesetBook> mBook;
|
||||
boost::shared_ptr <TypesetBookImpl> mBook;
|
||||
size_t mPage;
|
||||
|
||||
ILayerNode* mNode;
|
||||
|
@ -865,9 +865,9 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
void showPage (ITypesetBook::ptr _Book, size_t newPage)
|
||||
void showPage (TypesetBook::ptr _Book, size_t newPage)
|
||||
{
|
||||
boost::shared_ptr <TypesetBook> newBook = boost::dynamic_pointer_cast <TypesetBook> (_Book);
|
||||
boost::shared_ptr <TypesetBookImpl> newBook = boost::dynamic_pointer_cast <TypesetBookImpl> (_Book);
|
||||
|
||||
if (mBook != newBook)
|
||||
{
|
||||
|
@ -956,7 +956,7 @@ public:
|
|||
}
|
||||
};
|
||||
|
||||
void createActiveFormats (boost::shared_ptr <TypesetBook> newBook)
|
||||
void createActiveFormats (boost::shared_ptr <TypesetBookImpl> newBook)
|
||||
{
|
||||
newBook->visitRuns (0, 0x7FFFFFFF, createActiveFormat (this));
|
||||
|
||||
|
@ -1080,13 +1080,13 @@ public:
|
|||
};
|
||||
|
||||
|
||||
class MWGui::BookPage : public IBookPage
|
||||
class MWGui::BookPageImpl : public BookPage
|
||||
{
|
||||
MYGUI_RTTI_DERIVED(BookPage)
|
||||
public:
|
||||
|
||||
|
||||
void showPage (ITypesetBook::ptr Book, size_t Page)
|
||||
void showPage (TypesetBook::ptr Book, size_t Page)
|
||||
{
|
||||
if (PageDisplay* pd = dynamic_cast <PageDisplay*> (getSubWidgetText ()))
|
||||
pd->showPage (Book, Page);
|
||||
|
@ -1152,11 +1152,11 @@ protected:
|
|||
}
|
||||
};
|
||||
|
||||
void IBookPage::registerMyGUIComponents ()
|
||||
void BookPage::registerMyGUIComponents ()
|
||||
{
|
||||
FactoryManager & factory = FactoryManager::getInstance();
|
||||
|
||||
factory.registerFactory<BookPage>("Widget");
|
||||
factory.registerFactory<BookPageImpl>("Widget");
|
||||
factory.registerFactory<PageDisplay>("BasisSkin");
|
||||
}
|
||||
|
||||
|
|
|
@ -13,9 +13,9 @@ namespace MWGui
|
|||
{
|
||||
/// A formatted and paginated document to be used with
|
||||
/// the book page widget.
|
||||
struct ITypesetBook
|
||||
struct TypesetBook
|
||||
{
|
||||
typedef boost::shared_ptr <ITypesetBook> ptr;
|
||||
typedef boost::shared_ptr <TypesetBook> ptr;
|
||||
typedef intptr_t interactive_id;
|
||||
|
||||
/// Returns the number of pages in the document.
|
||||
|
@ -31,10 +31,10 @@ namespace MWGui
|
|||
};
|
||||
|
||||
/// A factory class for creating a typeset book instance.
|
||||
struct IBookTypesetter
|
||||
struct BookTypesetter
|
||||
{
|
||||
typedef boost::shared_ptr <IBookTypesetter> ptr;
|
||||
typedef ITypesetBook::interactive_id interactive_id;
|
||||
typedef boost::shared_ptr <BookTypesetter> ptr;
|
||||
typedef TypesetBook::interactive_id interactive_id;
|
||||
typedef MyGUI::Colour coulour;
|
||||
typedef uint8_t const * utf8_point;
|
||||
typedef std::pair <utf8_point, utf8_point> utf8_span;
|
||||
|
@ -49,18 +49,18 @@ namespace MWGui
|
|||
/// of text added to a typeset book. Their lifetime is equal
|
||||
/// to the lifetime of the book-typesetter instance that created
|
||||
/// them.
|
||||
struct IStyle;
|
||||
struct Style;
|
||||
|
||||
/// A factory function for creating the default implementation of a book typesetter
|
||||
static ptr create (int pageWidth, int pageHeight);
|
||||
|
||||
/// Create a simple text style consisting of a font and a text color.
|
||||
virtual IStyle* createStyle (char const * Font, coulour Colour) = 0;
|
||||
virtual Style* createStyle (char const * Font, coulour Colour) = 0;
|
||||
|
||||
/// Create a hyper-link style with a user-defined identifier based on an
|
||||
/// existing style. The unique flag forces a new instance of this style
|
||||
/// to be created even if an existing instance is present.
|
||||
virtual IStyle* createHotStyle (IStyle * BaseStyle, coulour NormalColour, coulour HoverColour, coulour ActiveColour, interactive_id Id, bool Unique = true) = 0;
|
||||
virtual Style* createHotStyle (Style * BaseStyle, coulour NormalColour, coulour HoverColour, coulour ActiveColour, interactive_id Id, bool Unique = true) = 0;
|
||||
|
||||
/// Insert a line break into the document. Newline characters in the input
|
||||
/// text have the same affect. The margin parameter adds additional space
|
||||
|
@ -77,7 +77,7 @@ namespace MWGui
|
|||
virtual void setSectionAlignment (alignment sectionAlignment) = 0;
|
||||
|
||||
// Layout a block of text with the specified style into the document.
|
||||
virtual void write (IStyle * Style, utf8_span Text) = 0;
|
||||
virtual void write (Style * Style, utf8_span Text) = 0;
|
||||
|
||||
/// Adds a content block to the document without laying it out. An
|
||||
/// identifier is returned that can be used to refer to it. If select
|
||||
|
@ -89,23 +89,23 @@ namespace MWGui
|
|||
|
||||
/// Layout a span of the selected content block into the document
|
||||
/// using the specified style.
|
||||
virtual void write (IStyle * Style, size_t Begin, size_t End) = 0;
|
||||
virtual void write (Style * Style, size_t Begin, size_t End) = 0;
|
||||
|
||||
/// Finalize the document layout, and return a pointer to it.
|
||||
virtual ITypesetBook::ptr complete () = 0;
|
||||
virtual TypesetBook::ptr complete () = 0;
|
||||
};
|
||||
|
||||
/// An interface to the BookPage widget.
|
||||
class IBookPage : public MyGUI::Widget
|
||||
class BookPage : public MyGUI::Widget
|
||||
{
|
||||
MYGUI_RTTI_DERIVED(IBookPage)
|
||||
MYGUI_RTTI_DERIVED(BookPage)
|
||||
public:
|
||||
|
||||
typedef ITypesetBook::interactive_id interactive_id;
|
||||
typedef TypesetBook::interactive_id interactive_id;
|
||||
typedef boost::function <void (interactive_id)> click_callback;
|
||||
|
||||
/// Make the widget display the specified page from the specified book.
|
||||
virtual void showPage (ITypesetBook::ptr Book, size_t Page) = 0;
|
||||
virtual void showPage (TypesetBook::ptr Book, size_t Page) = 0;
|
||||
|
||||
/// Set the callback for a clicking a hyper-link in the document.
|
||||
virtual void adviseLinkClicked (click_callback callback) = 0;
|
||||
|
|
|
@ -4,13 +4,13 @@ using namespace MWGui;
|
|||
|
||||
namespace
|
||||
{
|
||||
IBookTypesetter::utf8_span to_utf8_span (char const * Text)
|
||||
BookTypesetter::utf8_span to_utf8_span (char const * Text)
|
||||
{
|
||||
typedef IBookTypesetter::utf8_point point;
|
||||
typedef BookTypesetter::utf8_point point;
|
||||
|
||||
point begin = reinterpret_cast <point> (Text);
|
||||
|
||||
return IBookTypesetter::utf8_span (begin, begin + strlen (Text));
|
||||
return BookTypesetter::utf8_span (begin, begin + strlen (Text));
|
||||
}
|
||||
|
||||
const MyGUI::Colour linkHot (0.40f, 0.40f, 0.80f);
|
||||
|
@ -19,10 +19,10 @@ namespace
|
|||
|
||||
struct addContent
|
||||
{
|
||||
IBookTypesetter::ptr typesetter;
|
||||
IBookTypesetter::IStyle* body_style;
|
||||
BookTypesetter::ptr typesetter;
|
||||
BookTypesetter::Style* body_style;
|
||||
|
||||
addContent (IBookTypesetter::ptr typesetter, IBookTypesetter::IStyle* body_style) :
|
||||
addContent (BookTypesetter::ptr typesetter, BookTypesetter::Style* body_style) :
|
||||
typesetter (typesetter), body_style (body_style)
|
||||
{
|
||||
}
|
||||
|
@ -30,14 +30,14 @@ namespace
|
|||
|
||||
struct addSpan : addContent
|
||||
{
|
||||
addSpan (IBookTypesetter::ptr typesetter, IBookTypesetter::IStyle* body_style) :
|
||||
addSpan (BookTypesetter::ptr typesetter, BookTypesetter::Style* body_style) :
|
||||
addContent (typesetter, body_style)
|
||||
{
|
||||
}
|
||||
|
||||
void operator () (intptr_t topicId, size_t begin, size_t end)
|
||||
{
|
||||
IBookTypesetter::IStyle* style = body_style;
|
||||
BookTypesetter::Style* style = body_style;
|
||||
|
||||
if (topicId)
|
||||
style = typesetter->createHotStyle (body_style, linkNormal, linkHot, linkActive, topicId);
|
||||
|
@ -48,10 +48,10 @@ namespace
|
|||
|
||||
struct addEntry
|
||||
{
|
||||
IBookTypesetter::ptr typesetter;
|
||||
IBookTypesetter::IStyle* body_style;
|
||||
BookTypesetter::ptr typesetter;
|
||||
BookTypesetter::Style* body_style;
|
||||
|
||||
addEntry (IBookTypesetter::ptr typesetter, IBookTypesetter::IStyle* body_style) :
|
||||
addEntry (BookTypesetter::ptr typesetter, BookTypesetter::Style* body_style) :
|
||||
typesetter (typesetter), body_style (body_style)
|
||||
{
|
||||
}
|
||||
|
@ -67,10 +67,10 @@ namespace
|
|||
struct addJournalEntry : addEntry
|
||||
{
|
||||
bool add_header;
|
||||
IBookTypesetter::IStyle* header_style;
|
||||
BookTypesetter::Style* header_style;
|
||||
|
||||
addJournalEntry (IBookTypesetter::ptr typesetter, IBookTypesetter::IStyle* body_style,
|
||||
IBookTypesetter::IStyle* header_style, bool add_header) :
|
||||
addJournalEntry (BookTypesetter::ptr typesetter, BookTypesetter::Style* body_style,
|
||||
BookTypesetter::Style* header_style, bool add_header) :
|
||||
addEntry (typesetter, body_style),
|
||||
header_style (header_style),
|
||||
add_header (add_header)
|
||||
|
@ -94,10 +94,10 @@ namespace
|
|||
struct addTopicEntry : addEntry
|
||||
{
|
||||
intptr_t contentId;
|
||||
IBookTypesetter::IStyle* header_style;
|
||||
BookTypesetter::Style* header_style;
|
||||
|
||||
addTopicEntry (IBookTypesetter::ptr typesetter, IBookTypesetter::IStyle* body_style,
|
||||
IBookTypesetter::IStyle* header_style, intptr_t contentId) :
|
||||
addTopicEntry (BookTypesetter::ptr typesetter, BookTypesetter::Style* body_style,
|
||||
BookTypesetter::Style* header_style, intptr_t contentId) :
|
||||
addEntry (typesetter, body_style), header_style (header_style), contentId (contentId)
|
||||
{
|
||||
}
|
||||
|
@ -118,7 +118,7 @@ namespace
|
|||
|
||||
struct addTopicName : addContent
|
||||
{
|
||||
addTopicName (IBookTypesetter::ptr typesetter, IBookTypesetter::IStyle* style) :
|
||||
addTopicName (BookTypesetter::ptr typesetter, BookTypesetter::Style* style) :
|
||||
addContent (typesetter, style)
|
||||
{
|
||||
}
|
||||
|
@ -132,7 +132,7 @@ namespace
|
|||
|
||||
struct addQuestName : addContent
|
||||
{
|
||||
addQuestName (IBookTypesetter::ptr typesetter, IBookTypesetter::IStyle* style) :
|
||||
addQuestName (BookTypesetter::ptr typesetter, BookTypesetter::Style* style) :
|
||||
addContent (typesetter, style)
|
||||
{
|
||||
}
|
||||
|
@ -146,14 +146,14 @@ namespace
|
|||
|
||||
struct addTopicLink : addContent
|
||||
{
|
||||
addTopicLink (IBookTypesetter::ptr typesetter, IBookTypesetter::IStyle* style) :
|
||||
addTopicLink (BookTypesetter::ptr typesetter, BookTypesetter::Style* style) :
|
||||
addContent (typesetter, style)
|
||||
{
|
||||
}
|
||||
|
||||
void operator () (IJournalViewModel::topic_id topicId, IJournalViewModel::utf8_span name)
|
||||
{
|
||||
IBookTypesetter::IStyle* link = typesetter->createHotStyle (body_style, MyGUI::Colour::Black, linkHot, linkActive, topicId);
|
||||
BookTypesetter::Style* link = typesetter->createHotStyle (body_style, MyGUI::Colour::Black, linkHot, linkActive, topicId);
|
||||
|
||||
typesetter->write (link, name);
|
||||
typesetter->lineBreak ();
|
||||
|
@ -162,14 +162,14 @@ namespace
|
|||
|
||||
struct addQuestLink : addContent
|
||||
{
|
||||
addQuestLink (IBookTypesetter::ptr typesetter, IBookTypesetter::IStyle* style) :
|
||||
addQuestLink (BookTypesetter::ptr typesetter, BookTypesetter::Style* style) :
|
||||
addContent (typesetter, style)
|
||||
{
|
||||
}
|
||||
|
||||
void operator () (IJournalViewModel::quest_id id, IJournalViewModel::utf8_span name)
|
||||
{
|
||||
IBookTypesetter::IStyle* style = typesetter->createHotStyle (body_style, MyGUI::Colour::Black, linkHot, linkActive, id);
|
||||
BookTypesetter::Style* style = typesetter->createHotStyle (body_style, MyGUI::Colour::Black, linkHot, linkActive, id);
|
||||
|
||||
typesetter->write (style, name);
|
||||
typesetter->lineBreak ();
|
||||
|
@ -177,7 +177,7 @@ namespace
|
|||
};
|
||||
}
|
||||
|
||||
typedef ITypesetBook::ptr book;
|
||||
typedef TypesetBook::ptr book;
|
||||
|
||||
JournalBooks::JournalBooks (IJournalViewModel::ptr Model) :
|
||||
Model (Model)
|
||||
|
@ -186,17 +186,17 @@ JournalBooks::JournalBooks (IJournalViewModel::ptr Model) :
|
|||
|
||||
book JournalBooks::createEmptyJournalBook ()
|
||||
{
|
||||
IBookTypesetter::ptr typesetter = createTypesetter ();
|
||||
BookTypesetter::ptr typesetter = createTypesetter ();
|
||||
|
||||
IBookTypesetter::IStyle* header = typesetter->createStyle ("EB Garamond", MyGUI::Colour (0.60f, 0.00f, 0.00f));
|
||||
IBookTypesetter::IStyle* body = typesetter->createStyle ("EB Garamond", MyGUI::Colour::Black);
|
||||
BookTypesetter::Style* header = typesetter->createStyle ("EB Garamond", MyGUI::Colour (0.60f, 0.00f, 0.00f));
|
||||
BookTypesetter::Style* body = typesetter->createStyle ("EB Garamond", MyGUI::Colour::Black);
|
||||
|
||||
typesetter->write (header, to_utf8_span ("You have no journal entries!"));
|
||||
typesetter->lineBreak ();
|
||||
typesetter->write (body, to_utf8_span ("You should have gone though the starting quest and got an initial quest."));
|
||||
|
||||
IBookTypesetter::IStyle* big = typesetter->createStyle ("EB Garamond 24", MyGUI::Colour::Black);
|
||||
IBookTypesetter::IStyle* test = typesetter->createStyle ("MonoFont", MyGUI::Colour::Blue);
|
||||
BookTypesetter::Style* big = typesetter->createStyle ("EB Garamond 24", MyGUI::Colour::Black);
|
||||
BookTypesetter::Style* test = typesetter->createStyle ("MonoFont", MyGUI::Colour::Blue);
|
||||
|
||||
typesetter->sectionBreak (20);
|
||||
typesetter->write (body, to_utf8_span (
|
||||
|
@ -228,10 +228,10 @@ book JournalBooks::createEmptyJournalBook ()
|
|||
|
||||
book JournalBooks::createJournalBook ()
|
||||
{
|
||||
IBookTypesetter::ptr typesetter = createTypesetter ();
|
||||
BookTypesetter::ptr typesetter = createTypesetter ();
|
||||
|
||||
IBookTypesetter::IStyle* header = typesetter->createStyle ("EB Garamond", MyGUI::Colour (0.60f, 0.00f, 0.00f));
|
||||
IBookTypesetter::IStyle* body = typesetter->createStyle ("EB Garamond", MyGUI::Colour::Black);
|
||||
BookTypesetter::Style* header = typesetter->createStyle ("EB Garamond", MyGUI::Colour (0.60f, 0.00f, 0.00f));
|
||||
BookTypesetter::Style* body = typesetter->createStyle ("EB Garamond", MyGUI::Colour::Black);
|
||||
|
||||
Model->visitJournalEntries (0, addJournalEntry (typesetter, body, header, true));
|
||||
|
||||
|
@ -240,10 +240,10 @@ book JournalBooks::createJournalBook ()
|
|||
|
||||
book JournalBooks::createTopicBook (uintptr_t topicId)
|
||||
{
|
||||
IBookTypesetter::ptr typesetter = createTypesetter ();
|
||||
BookTypesetter::ptr typesetter = createTypesetter ();
|
||||
|
||||
IBookTypesetter::IStyle* header = typesetter->createStyle ("EB Garamond", MyGUI::Colour (0.60f, 0.00f, 0.00f));
|
||||
IBookTypesetter::IStyle* body = typesetter->createStyle ("EB Garamond", MyGUI::Colour::Black);
|
||||
BookTypesetter::Style* header = typesetter->createStyle ("EB Garamond", MyGUI::Colour (0.60f, 0.00f, 0.00f));
|
||||
BookTypesetter::Style* body = typesetter->createStyle ("EB Garamond", MyGUI::Colour::Black);
|
||||
|
||||
Model->visitTopicName (topicId, addTopicName (typesetter, header));
|
||||
|
||||
|
@ -256,10 +256,10 @@ book JournalBooks::createTopicBook (uintptr_t topicId)
|
|||
|
||||
book JournalBooks::createQuestBook (uintptr_t questId)
|
||||
{
|
||||
IBookTypesetter::ptr typesetter = createTypesetter ();
|
||||
BookTypesetter::ptr typesetter = createTypesetter ();
|
||||
|
||||
IBookTypesetter::IStyle* header = typesetter->createStyle ("EB Garamond", MyGUI::Colour (0.60f, 0.00f, 0.00f));
|
||||
IBookTypesetter::IStyle* body = typesetter->createStyle ("EB Garamond", MyGUI::Colour::Black);
|
||||
BookTypesetter::Style* header = typesetter->createStyle ("EB Garamond", MyGUI::Colour (0.60f, 0.00f, 0.00f));
|
||||
BookTypesetter::Style* body = typesetter->createStyle ("EB Garamond", MyGUI::Colour::Black);
|
||||
|
||||
Model->visitQuestName (questId, addQuestName (typesetter, header));
|
||||
|
||||
|
@ -270,11 +270,11 @@ book JournalBooks::createQuestBook (uintptr_t questId)
|
|||
|
||||
book JournalBooks::createTopicIndexBook ()
|
||||
{
|
||||
IBookTypesetter::ptr typesetter = IBookTypesetter::create (92, 250);
|
||||
BookTypesetter::ptr typesetter = BookTypesetter::create (92, 250);
|
||||
|
||||
typesetter->setSectionAlignment (IBookTypesetter::alignCenter);
|
||||
typesetter->setSectionAlignment (BookTypesetter::alignCenter);
|
||||
|
||||
IBookTypesetter::IStyle* body = typesetter->createStyle ("EB Garamond", MyGUI::Colour::Black);
|
||||
BookTypesetter::Style* body = typesetter->createStyle ("EB Garamond", MyGUI::Colour::Black);
|
||||
|
||||
for (int i = 0; i < 26; ++i)
|
||||
{
|
||||
|
@ -284,7 +284,7 @@ book JournalBooks::createTopicIndexBook ()
|
|||
|
||||
sprintf (buffer, "( %c )", ch);
|
||||
|
||||
IBookTypesetter::IStyle* style = typesetter->createHotStyle (body, MyGUI::Colour::Black, linkHot, linkActive, ch);
|
||||
BookTypesetter::Style* style = typesetter->createHotStyle (body, MyGUI::Colour::Black, linkHot, linkActive, ch);
|
||||
|
||||
if (i == 13)
|
||||
typesetter->sectionBreak ();
|
||||
|
@ -298,8 +298,8 @@ book JournalBooks::createTopicIndexBook ()
|
|||
|
||||
book JournalBooks::createTopicIndexBook (char character)
|
||||
{
|
||||
IBookTypesetter::ptr typesetter = IBookTypesetter::create (0x7FFFFFFF, 0x7FFFFFFF);
|
||||
IBookTypesetter::IStyle* style = typesetter->createStyle ("EB Garamond", MyGUI::Colour::Black);
|
||||
BookTypesetter::ptr typesetter = BookTypesetter::create (0x7FFFFFFF, 0x7FFFFFFF);
|
||||
BookTypesetter::Style* style = typesetter->createStyle ("EB Garamond", MyGUI::Colour::Black);
|
||||
|
||||
Model->visitTopicNamesStartingWith (character, addTopicLink (typesetter, style));
|
||||
|
||||
|
@ -308,16 +308,16 @@ book JournalBooks::createTopicIndexBook (char character)
|
|||
|
||||
book JournalBooks::createQuestIndexBook (bool activeOnly)
|
||||
{
|
||||
IBookTypesetter::ptr typesetter = IBookTypesetter::create (0x7FFFFFFF, 0x7FFFFFFF);
|
||||
IBookTypesetter::IStyle* base = typesetter->createStyle ("EB Garamond", MyGUI::Colour::Black);
|
||||
BookTypesetter::ptr typesetter = BookTypesetter::create (0x7FFFFFFF, 0x7FFFFFFF);
|
||||
BookTypesetter::Style* base = typesetter->createStyle ("EB Garamond", MyGUI::Colour::Black);
|
||||
|
||||
Model->visitQuestNames (activeOnly, addQuestLink (typesetter, base));
|
||||
|
||||
return typesetter->complete ();
|
||||
}
|
||||
|
||||
IBookTypesetter::ptr JournalBooks::createTypesetter ()
|
||||
BookTypesetter::ptr JournalBooks::createTypesetter ()
|
||||
{
|
||||
//TODO: determine page size from layout...
|
||||
return IBookTypesetter::create (240, 300);
|
||||
return BookTypesetter::create (240, 300);
|
||||
}
|
||||
|
|
|
@ -8,7 +8,7 @@ namespace MWGui
|
|||
{
|
||||
struct JournalBooks
|
||||
{
|
||||
typedef ITypesetBook::ptr book;
|
||||
typedef TypesetBook::ptr book;
|
||||
IJournalViewModel::ptr Model;
|
||||
|
||||
JournalBooks (IJournalViewModel::ptr Model);
|
||||
|
@ -22,7 +22,7 @@ namespace MWGui
|
|||
book createQuestIndexBook (bool showAll);
|
||||
|
||||
private:
|
||||
IBookTypesetter::ptr createTypesetter ();
|
||||
BookTypesetter::ptr createTypesetter ();
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -47,7 +47,7 @@ namespace
|
|||
static char const LeftTopicIndex [] = "LeftTopicIndex";
|
||||
static char const RightTopicIndex [] = "RightTopicIndex";
|
||||
|
||||
struct JournalWindow : WindowBase, JournalBooks, IJournalWindow
|
||||
struct JournalWindowImpl : WindowBase, JournalBooks, JournalWindow
|
||||
{
|
||||
struct DisplayState
|
||||
{
|
||||
|
@ -83,40 +83,40 @@ namespace
|
|||
setVisible (visible);
|
||||
}
|
||||
|
||||
void adviseButtonClick (char const * name, void (JournalWindow::*Handler) (Widget* _sender))
|
||||
void adviseButtonClick (char const * name, void (JournalWindowImpl::*Handler) (Widget* _sender))
|
||||
{
|
||||
getWidget <MWGui::ImageButton> (name) ->
|
||||
eventMouseButtonClick += newDelegate(this, Handler);
|
||||
}
|
||||
|
||||
MWGui::IBookPage* getPage (char const * name)
|
||||
MWGui::BookPage* getPage (char const * name)
|
||||
{
|
||||
return getWidget <MWGui::IBookPage> (name);
|
||||
return getWidget <MWGui::BookPage> (name);
|
||||
}
|
||||
|
||||
JournalWindow (IJournalViewModel::ptr Model)
|
||||
JournalWindowImpl (IJournalViewModel::ptr Model)
|
||||
: WindowBase("openmw_journal.layout"), JournalBooks (Model)
|
||||
{
|
||||
mMainWidget->setVisible(false);
|
||||
center();
|
||||
|
||||
adviseButtonClick (OptionsBTN, &JournalWindow::notifyOptions );
|
||||
adviseButtonClick (PrevPageBTN, &JournalWindow::notifyPrevPage );
|
||||
adviseButtonClick (NextPageBTN, &JournalWindow::notifyNextPage );
|
||||
adviseButtonClick (CloseBTN, &JournalWindow::notifyClose );
|
||||
adviseButtonClick (JournalBTN, &JournalWindow::notifyJournal );
|
||||
adviseButtonClick (OptionsBTN, &JournalWindowImpl::notifyOptions );
|
||||
adviseButtonClick (PrevPageBTN, &JournalWindowImpl::notifyPrevPage );
|
||||
adviseButtonClick (NextPageBTN, &JournalWindowImpl::notifyNextPage );
|
||||
adviseButtonClick (CloseBTN, &JournalWindowImpl::notifyClose );
|
||||
adviseButtonClick (JournalBTN, &JournalWindowImpl::notifyJournal );
|
||||
|
||||
adviseButtonClick (TopicsBTN, &JournalWindow::notifyTopics );
|
||||
adviseButtonClick (QuestsBTN, &JournalWindow::notifyQuests );
|
||||
adviseButtonClick (CancelBTN, &JournalWindow::notifyCancel );
|
||||
adviseButtonClick (TopicsBTN, &JournalWindowImpl::notifyTopics );
|
||||
adviseButtonClick (QuestsBTN, &JournalWindowImpl::notifyQuests );
|
||||
adviseButtonClick (CancelBTN, &JournalWindowImpl::notifyCancel );
|
||||
|
||||
adviseButtonClick (ShowAllBTN, &JournalWindow::notifyShowAll );
|
||||
adviseButtonClick (ShowActiveBTN, &JournalWindow::notifyShowActive);
|
||||
adviseButtonClick (ShowAllBTN, &JournalWindowImpl::notifyShowAll );
|
||||
adviseButtonClick (ShowActiveBTN, &JournalWindowImpl::notifyShowActive);
|
||||
|
||||
{
|
||||
IBookPage::click_callback callback;
|
||||
BookPage::click_callback callback;
|
||||
|
||||
callback = boost::bind (&JournalWindow::notifyTopicClicked, this, _1);
|
||||
callback = boost::bind (&JournalWindowImpl::notifyTopicClicked, this, _1);
|
||||
|
||||
getPage (TopicsPage)->adviseLinkClicked (callback);
|
||||
getPage (LeftBookPage)->adviseLinkClicked (callback);
|
||||
|
@ -124,18 +124,18 @@ namespace
|
|||
}
|
||||
|
||||
{
|
||||
IBookPage::click_callback callback;
|
||||
BookPage::click_callback callback;
|
||||
|
||||
callback = boost::bind (&JournalWindow::notifyIndexLinkClicked, this, _1);
|
||||
callback = boost::bind (&JournalWindowImpl::notifyIndexLinkClicked, this, _1);
|
||||
|
||||
getPage (LeftTopicIndex)->adviseLinkClicked (callback);
|
||||
getPage (RightTopicIndex)->adviseLinkClicked (callback);
|
||||
}
|
||||
|
||||
{
|
||||
IBookPage::click_callback callback;
|
||||
BookPage::click_callback callback;
|
||||
|
||||
callback = boost::bind (&JournalWindow::notifyQuestClicked, this, _1);
|
||||
callback = boost::bind (&JournalWindowImpl::notifyQuestClicked, this, _1);
|
||||
|
||||
getPage (QuestsPage)->adviseLinkClicked (callback);
|
||||
}
|
||||
|
@ -328,7 +328,7 @@ namespace
|
|||
getWidget <ScrollView> (ListId)->setCanvasSize (size.first, size.second);
|
||||
}
|
||||
|
||||
void notifyIndexLinkClicked (ITypesetBook::interactive_id character)
|
||||
void notifyIndexLinkClicked (TypesetBook::interactive_id character)
|
||||
{
|
||||
setVisible (LeftTopicIndex, false);
|
||||
setVisible (RightTopicIndex, false);
|
||||
|
@ -420,7 +420,7 @@ namespace
|
|||
}
|
||||
|
||||
// glue the implementation to the interface
|
||||
IJournalWindow * MWGui::IJournalWindow::create (IJournalViewModel::ptr Model)
|
||||
IJournalWindow * MWGui::JournalWindow::create (IJournalViewModel::ptr Model)
|
||||
{
|
||||
return new JournalWindow (Model);
|
||||
return new JournalWindowImpl (Model);
|
||||
}
|
||||
|
|
|
@ -10,13 +10,13 @@ namespace MWGui
|
|||
{
|
||||
struct IJournalViewModel;
|
||||
|
||||
struct IJournalWindow
|
||||
struct JournalWindow
|
||||
{
|
||||
/// construct a new instance of the one JournalWindow implementation
|
||||
static IJournalWindow * create (boost::shared_ptr <IJournalViewModel> Model);
|
||||
static JournalWindow * create (boost::shared_ptr <IJournalViewModel> Model);
|
||||
|
||||
/// destroy this instance of the JournalWindow implementation
|
||||
virtual ~IJournalWindow () {};
|
||||
virtual ~JournalWindow () {};
|
||||
|
||||
/// show/hide the journal window
|
||||
virtual void setVisible (bool newValue) = 0;
|
||||
|
|
|
@ -148,7 +148,7 @@ namespace MWGui
|
|||
mMap = new MapWindow(cacheDir);
|
||||
mStatsWindow = new StatsWindow();
|
||||
mConsole = new Console(w,h, consoleOnlyScripts);
|
||||
mJournal = IJournalWindow::create(IJournalViewModel::create ());
|
||||
mJournal = JournalWindow::create(IJournalViewModel::create ());
|
||||
mMessageBoxManager = new MessageBoxManager();
|
||||
mInventoryWindow = new InventoryWindow(mDragAndDrop);
|
||||
mTradeWindow = new TradeWindow();
|
||||
|
|
|
@ -51,7 +51,7 @@ namespace MWGui
|
|||
class MainMenu;
|
||||
class StatsWindow;
|
||||
class InventoryWindow;
|
||||
class IJournalWindow;
|
||||
class JournalWindow;
|
||||
class CharacterCreation;
|
||||
class DragAndDrop;
|
||||
class ToolTips;
|
||||
|
@ -253,7 +253,7 @@ namespace MWGui
|
|||
StatsWindow *mStatsWindow;
|
||||
MessageBoxManager *mMessageBoxManager;
|
||||
Console *mConsole;
|
||||
IJournalWindow* mJournal;
|
||||
JournalWindow* mJournal;
|
||||
DialogueWindow *mDialogueWindow;
|
||||
ContainerWindow *mContainerWindow;
|
||||
DragAndDrop* mDragAndDrop;
|
||||
|
|
Loading…
Reference in a new issue