/[svn]/gigedit/trunk/src/gigedit/wrapLabel.hh
ViewVC logotype

Annotation of /gigedit/trunk/src/gigedit/wrapLabel.hh

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3735 - (hide annotations) (download)
Sat Feb 1 19:28:43 2020 UTC (4 years, 2 months ago) by schoenebeck
File size: 2354 byte(s)
- Added widget class 'MultiLineLabel' to fix size issues with stock
  Gtk::Label on large text blocks.

1 persson 1799 /* *************************************************************************
2     * Copyright (c) 2005 VMware, Inc.
3     *
4     * Permission is hereby granted, free of charge, to any person obtaining
5     * a copy of this software and associated documentation files (the
6     * "Software"), to deal in the Software without restriction, including
7     * without limitation the rights to use, copy, modify, merge, publish,
8     * distribute, sublicense, and/or sell copies of the Software, and to
9     * permit persons to whom the Software is furnished to do so, subject to
10     * the following conditions:
11     *
12     * The above copyright notice and this permission notice shall be
13     * included in all copies or substantial portions of the Software.
14     *
15     * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16     * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17     * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
18     * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
19     * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
20     * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
21     * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22     * *************************************************************************/
23    
24     #ifndef LIBVIEW_WRAP_LABEL_HH
25     #define LIBVIEW_WRAP_LABEL_HH
26    
27    
28     #include <gtkmm/label.h>
29    
30    
31     namespace view {
32    
33 schoenebeck 3735 /** @brief Multi-line label for gtk(mm) <= 2.
34     *
35     * This class is only used for gtk(mm) <= 2. If application is compiled against
36     * gtk(mm) >= 3 then this class is not compiled at all. gtk(mm) 3 added support
37     * for automatic multi-line labels by calling its set_line_wrap() method.
38     * However Gtk::Label may still cause size calculation problems under certain
39     * conditions. If you encountered such a problem, then use @c MultiLineLabel for
40     * for gtk(mm) >= 3 instead.
41     *
42     * @see MultiLineLabel for gtk(mm) >= 3
43     */
44 persson 1799 class WrapLabel
45     : public Gtk::Label
46     {
47     public:
48     WrapLabel(const Glib::ustring &text = "");
49    
50     void set_text(const Glib::ustring &str);
51     void set_markup(const Glib::ustring &str);
52    
53     protected:
54     virtual void on_size_allocate(Gtk::Allocation &alloc);
55     virtual void on_size_request(Gtk::Requisition *req);
56    
57     private:
58 persson 2169 void SetWrapWidth(int width);
59 persson 1799
60 persson 2169 int mWrapWidth;
61     int mWrapHeight;
62 persson 1799 };
63    
64    
65     } /* namespace view */
66    
67    
68     #endif /* LIBVIEW_WRAP_LABEL_HH */

  ViewVC Help
Powered by ViewVC