using std::cout;
using boost::shared_ptr;
-FontsDialog::FontsDialog (wxWindow* parent, shared_ptr<Content> content)
+FontsDialog::FontsDialog (wxWindow* parent, shared_ptr<Content> content, shared_ptr<CaptionContent> caption)
: wxDialog (parent, wxID_ANY, _("Fonts"))
, _content (content)
+ , _caption (caption)
{
_fonts = new wxListCtrl (this, wxID_ANY, wxDefaultPosition, wxSize (550, 200), wxLC_REPORT | wxLC_SINGLE_SEL);
FontsDialog::setup ()
{
shared_ptr<Content> content = _content.lock ();
- if (!content) {
+ shared_ptr<CaptionContent> caption = _caption.lock ();
+ if (!content || !caption) {
return;
}
_fonts->DeleteAllItems ();
size_t n = 0;
- BOOST_FOREACH (shared_ptr<Font> i, content->caption->fonts ()) {
+ BOOST_FOREACH (shared_ptr<Font> i, caption->fonts ()) {
wxListItem item;
item.SetId (n);
_fonts->InsertItem (item);
FontsDialog::edit_clicked ()
{
shared_ptr<Content> content = _content.lock ();
- if (!content) {
+ shared_ptr<CaptionContent> caption = _caption.lock ();
+ if (!content || !caption) {
return;
}
int const item = _fonts->GetNextItem (-1, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED);
string const id = wx_to_std (_fonts->GetItemText (item, 0));
shared_ptr<Font> font;
- BOOST_FOREACH (shared_ptr<Font> i, content->caption->fonts()) {
+ BOOST_FOREACH (shared_ptr<Font> i, caption->fonts()) {
if (i->id() == id) {
font = i;
}