Fix a crash when running single-threaded and dragging the time slider.
[synfig.git] / synfig-studio / trunk / src / gtkmm / onemoment.cpp
1 /* === S Y N F I G ========================================================= */
2 /*!     \file onemoment.cpp
3 **      \brief writeme
4 **
5 **      $Id$
6 **
7 **      \legal
8 **      Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
9 **      Copyright (c) 2007 Chris Moore
10 **
11 **      This package is free software; you can redistribute it and/or
12 **      modify it under the terms of the GNU General Public License as
13 **      published by the Free Software Foundation; either version 2 of
14 **      the License, or (at your option) any later version.
15 **
16 **      This package is distributed in the hope that it will be useful,
17 **      but WITHOUT ANY WARRANTY; without even the implied warranty of
18 **      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19 **      General Public License for more details.
20 **      \endlegal
21 **
22 ** === N O T E S ===========================================================
23 **
24 ** ========================================================================= */
25
26 /* === H E A D E R S ======================================================= */
27
28 #ifdef USING_PCH
29 #       include "pch.h"
30 #else
31 #ifdef HAVE_CONFIG_H
32 #       include <config.h>
33 #endif
34
35 #include <iostream>
36 #include <string>
37
38 #include <ETL/stringf>
39
40 #include <gtkmm/image.h>
41 #include <gdkmm/pixbufloader.h>
42 #include <gtkmm/button.h>
43 #include <gtkmm/label.h>
44 #include <gtkmm/fixed.h>
45
46 #include <synfig/general.h>
47
48 #include "onemoment.h"
49 #include "app.h"
50
51 #endif
52
53 using namespace std;
54 using namespace etl;
55 using namespace studio;
56
57 /* === M A C R O S ========================================================= */
58
59 #ifndef VERSION
60 #define VERSION "unknown"
61 #define PACKAGE "synfigstudio"
62 #endif
63
64 #ifdef WIN32
65 #       ifdef IMAGE_DIR
66 #               undef IMAGE_DIR
67 #               define IMAGE_DIR "share\\pixmaps"
68 #       endif
69 #endif
70
71 #ifndef IMAGE_DIR
72 #       define IMAGE_DIR "/usr/local/share/pixmaps"
73 #endif
74
75 #ifndef IMAGE_EXT
76 #       define IMAGE_EXT        "png"
77 #endif
78
79 /* === G L O B A L S ======================================================= */
80
81 /* === P R O C E D U R E S ================================================= */
82
83 /* === M E T H O D S ======================================================= */
84
85 OneMoment::OneMoment():
86         Gtk::Window(getenv("SYNFIG_DISABLE_POPUP_WINDOWS") ? Gtk::WINDOW_TOPLEVEL : Gtk::WINDOW_POPUP)
87 {
88         // Create the Copyright Label
89         Gtk::Label *label = manage(new class Gtk::Label(_("One Moment, Please...")));
90
91         set_title(_("One Moment, Please..."));
92         set_modal(false);
93         property_window_position().set_value(Gtk::WIN_POS_CENTER);
94         set_resizable(false);
95         add(*label);
96
97         Pango::AttrList attr_list;
98         Pango::AttrInt pango_size(Pango::Attribute::create_attr_size(Pango::SCALE*16));
99         pango_size.set_start_index(0);
100         pango_size.set_end_index(64);
101         attr_list.change(pango_size);
102
103         label->set_attributes(attr_list);
104
105         label->set_size_request(400,60);
106
107         get_root_window()->set_decorations(Gdk::DECOR_BORDER);
108
109         // show everything off
110         show_all();
111
112         present();
113         while(studio::App::events_pending())studio::App::iteration(false);
114 }
115
116 OneMoment::~OneMoment()
117 {
118         hide();
119 }