forked from AuroraMiddleware/gtk
Add GtkExpander. See discussion in bug #60553.
2003-06-30 Mark McLoughlin <mark@skynet.ie> Add GtkExpander. See discussion in bug #60553. * gtk/gtkexpander.[ch]: add. * gtk/Makefile.am: build gtk-expander.[ch]. * docs/widget_geometry.txt: add info on the layout of GtkExpander.
This commit is contained in:
parent
453bf966a6
commit
281a95549c
11
ChangeLog
11
ChangeLog
@ -1,3 +1,14 @@
|
||||
2003-06-30 Mark McLoughlin <mark@skynet.ie>
|
||||
|
||||
Add GtkExpander. See discussion in bug #60553.
|
||||
|
||||
* gtk/gtkexpander.[ch]: add.
|
||||
|
||||
* gtk/Makefile.am: build gtk-expander.[ch].
|
||||
|
||||
* docs/widget_geometry.txt: add info on the layout
|
||||
of GtkExpander.
|
||||
|
||||
Mon Jun 30 01:20:19 2003 Soeren Sandmann <sandmann@daimi.au.dk>
|
||||
|
||||
* gtkradiotoolbutton.c
|
||||
|
@ -1,3 +1,14 @@
|
||||
2003-06-30 Mark McLoughlin <mark@skynet.ie>
|
||||
|
||||
Add GtkExpander. See discussion in bug #60553.
|
||||
|
||||
* gtk/gtkexpander.[ch]: add.
|
||||
|
||||
* gtk/Makefile.am: build gtk-expander.[ch].
|
||||
|
||||
* docs/widget_geometry.txt: add info on the layout
|
||||
of GtkExpander.
|
||||
|
||||
Mon Jun 30 01:20:19 2003 Soeren Sandmann <sandmann@daimi.au.dk>
|
||||
|
||||
* gtkradiotoolbutton.c
|
||||
|
@ -1,3 +1,14 @@
|
||||
2003-06-30 Mark McLoughlin <mark@skynet.ie>
|
||||
|
||||
Add GtkExpander. See discussion in bug #60553.
|
||||
|
||||
* gtk/gtkexpander.[ch]: add.
|
||||
|
||||
* gtk/Makefile.am: build gtk-expander.[ch].
|
||||
|
||||
* docs/widget_geometry.txt: add info on the layout
|
||||
of GtkExpander.
|
||||
|
||||
Mon Jun 30 01:20:19 2003 Soeren Sandmann <sandmann@daimi.au.dk>
|
||||
|
||||
* gtkradiotoolbutton.c
|
||||
|
@ -1,3 +1,14 @@
|
||||
2003-06-30 Mark McLoughlin <mark@skynet.ie>
|
||||
|
||||
Add GtkExpander. See discussion in bug #60553.
|
||||
|
||||
* gtk/gtkexpander.[ch]: add.
|
||||
|
||||
* gtk/Makefile.am: build gtk-expander.[ch].
|
||||
|
||||
* docs/widget_geometry.txt: add info on the layout
|
||||
of GtkExpander.
|
||||
|
||||
Mon Jun 30 01:20:19 2003 Soeren Sandmann <sandmann@daimi.au.dk>
|
||||
|
||||
* gtkradiotoolbutton.c
|
||||
|
@ -1,3 +1,14 @@
|
||||
2003-06-30 Mark McLoughlin <mark@skynet.ie>
|
||||
|
||||
Add GtkExpander. See discussion in bug #60553.
|
||||
|
||||
* gtk/gtkexpander.[ch]: add.
|
||||
|
||||
* gtk/Makefile.am: build gtk-expander.[ch].
|
||||
|
||||
* docs/widget_geometry.txt: add info on the layout
|
||||
of GtkExpander.
|
||||
|
||||
Mon Jun 30 01:20:19 2003 Soeren Sandmann <sandmann@daimi.au.dk>
|
||||
|
||||
* gtkradiotoolbutton.c
|
||||
|
@ -592,3 +592,145 @@ D: INNER_BORDER + (HAVE_FOCUS ? 0 : GtkWidget::focus-line-width
|
||||
|
||||
Note - effect here for !interior_focus is that bevel moves in
|
||||
by focus-line-width when entry gains focus
|
||||
|
||||
===============
|
||||
|
||||
GtkExpander
|
||||
|
||||
===============
|
||||
|
||||
Style properties
|
||||
GtkWidget::focus_line_width
|
||||
GtkWidget::focus_padding
|
||||
GtkExpander::expander_size
|
||||
GtkExpander::expander_spacing
|
||||
|
||||
Properties
|
||||
GtkContainer::border_width
|
||||
GtkExpander::spacing
|
||||
|
||||
if (GTK_WIDGET_VISIBLE (bin->child) && interior_focus)
|
||||
|
||||
+-------------------------------------+
|
||||
| A |
|
||||
| +---------+-----------------------+ |
|
||||
| | C |##########E############| |
|
||||
| | +-----+ |#+-------------------+#| |
|
||||
| | | | |#| F |#| |
|
||||
| | | | |#| +---------------+ |#| |
|
||||
|A|C| BxB |C|E|F| label_widget |F|E|A|
|
||||
| | | | |#| +---------------+ |#| |
|
||||
| | | | |#| F |#| |
|
||||
| | +-----+ |#+-------------------+#| |
|
||||
| | C |##########E############| |
|
||||
| +---------+-----------------------+ |
|
||||
| | D | |
|
||||
| +---------------------------------+ |
|
||||
| | | |
|
||||
| | | |
|
||||
| | | |
|
||||
|A| bin->child |A|
|
||||
| | | |
|
||||
| | | |
|
||||
| | | |
|
||||
| +---------------------------------+ |
|
||||
| A |
|
||||
+-------------------------------------+
|
||||
|
||||
A: GtkContainer::border_width
|
||||
B: GtkExpander::expander_size
|
||||
C: GtkExpander::expander_spacing
|
||||
D: GtkExpander::spacing
|
||||
E: GtkWidget::focus_line_width
|
||||
F: GtkWidget::focus_padding
|
||||
|
||||
if (GTK_WIDGET_VISIBLE (bin->child) && !interior_focus)
|
||||
|
||||
+-------------------------------------------+
|
||||
| A |
|
||||
| +---------------------------------------+ |
|
||||
| |##################E####################| |
|
||||
| |#+-----------------------------------+#| |
|
||||
| |#| F |#| |
|
||||
| |#| +---------+---------------------+ |#| |
|
||||
| |#| | C | | |#| |
|
||||
| |#| | +-----+ | | |#| |
|
||||
|A|E|F|C| BxB |C| label_widget |F|E|A|
|
||||
| |#| | +-----+ | | |#| |
|
||||
| |#| | C | | |#| |
|
||||
| |#| +---------+---------------------+ |#| |
|
||||
| |#| F |#| |
|
||||
| |#+-----------------------------------+#| |
|
||||
| |##################E####################| |
|
||||
| +---------------------------------------+ |
|
||||
| | D | |
|
||||
| +---------------------------------------+ |
|
||||
| | | |
|
||||
| | | |
|
||||
| | | |
|
||||
|A| bin->child |A|
|
||||
| | | |
|
||||
| | | |
|
||||
| | | |
|
||||
| +---------------------------------------+ |
|
||||
| A |
|
||||
+-------------------------------------------+
|
||||
|
||||
A: GtkContainer::border_width
|
||||
B: GtkExpander::expander_size
|
||||
C: GtkExpander::expander_spacing
|
||||
D: GtkExpander::spacing
|
||||
E: GtkWidget::focus_line_width
|
||||
F: GtkWidget::focus_padding
|
||||
|
||||
if (!GTK_WIDGET_VISIBLE (bin->child) && interior_focus)
|
||||
|
||||
+-------------------------------------+
|
||||
| A |
|
||||
| +---------+-----------------------+ |
|
||||
| | C |##########E############| |
|
||||
| | +-----+ |#+-------------------+#| |
|
||||
| | | | |#| F |#| |
|
||||
| | | | |#| +---------------+ |#| |
|
||||
|A|C| BxB |C|E|F| label_widget |F|E|A|
|
||||
| | | | |#| +---------------+ |#| |
|
||||
| | | | |#| F |#| |
|
||||
| | +-----+ |#+-------------------+#| |
|
||||
| | C |##########E############| |
|
||||
| +---------+-----------------------+ |
|
||||
| A |
|
||||
+-------------------------------------+
|
||||
|
||||
A: GtkContainer::border_width
|
||||
B: GtkExpander::expander_size
|
||||
C: GtkExpander::expander_spacing
|
||||
E: GtkWidget::focus_line_width
|
||||
F: GtkWidget::focus_padding
|
||||
|
||||
if (!GTK_WIDGET_VISIBLE (bin->child) && !interior_focus)
|
||||
|
||||
+-------------------------------------------+
|
||||
| A |
|
||||
| +---------------------------------------+ |
|
||||
| |##################E####################| |
|
||||
| |#+-----------------------------------+#| |
|
||||
| |#| F |#| |
|
||||
| |#| +---------+---------------------+ |#| |
|
||||
| |#| | C | | |#| |
|
||||
| |#| | +-----+ | | |#| |
|
||||
|A|E|F|C| BxB |C| label_widget |F|E|A|
|
||||
| |#| | +-----+ | | |#| |
|
||||
| |#| | C | | |#| |
|
||||
| |#| +---------+---------------------+ |#| |
|
||||
| |#| F |#| |
|
||||
| |#+-----------------------------------+#| |
|
||||
| |##################E####################| |
|
||||
| +---------------------------------------+ |
|
||||
| A |
|
||||
+-------------------------------------------+
|
||||
|
||||
A: GtkContainer::border_width
|
||||
B: GtkExpander::expander_size
|
||||
C: GtkExpander::expander_spacing
|
||||
E: GtkWidget::focus_line_width
|
||||
F: GtkWidget::focus_padding
|
||||
|
@ -123,6 +123,7 @@ gtk_public_h_sources = \
|
||||
gtkentry.h \
|
||||
gtkenums.h \
|
||||
gtkeventbox.h \
|
||||
gtkexpander.h \
|
||||
gtkfilesel.h \
|
||||
gtkfixed.h \
|
||||
gtkfontsel.h \
|
||||
@ -293,6 +294,7 @@ gtk_c_sources = \
|
||||
gtkeditable.c \
|
||||
gtkentry.c \
|
||||
gtkeventbox.c \
|
||||
gtkexpander.c \
|
||||
gtkfilesel.c \
|
||||
gtkfixed.c \
|
||||
gtkfontsel.c \
|
||||
|
1432
gtk/gtkexpander.c
Normal file
1432
gtk/gtkexpander.c
Normal file
File diff suppressed because it is too large
Load Diff
87
gtk/gtkexpander.h
Normal file
87
gtk/gtkexpander.h
Normal file
@ -0,0 +1,87 @@
|
||||
/* GTK - The GIMP Toolkit
|
||||
*
|
||||
* Copyright (C) 2003 Sun Microsystems, Inc.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Library General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Library General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Library General Public
|
||||
* License along with this library; if not, write to the
|
||||
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors:
|
||||
* Mark McLoughlin <mark@skynet.ie>
|
||||
*/
|
||||
|
||||
#ifndef __GTK_EXPANDER_H__
|
||||
#define __GTK_EXPANDER_H__
|
||||
|
||||
#include <gtk/gtkbin.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
#define GTK_TYPE_EXPANDER (gtk_expander_get_type ())
|
||||
#define GTK_EXPANDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_EXPANDER, GtkExpander))
|
||||
#define GTK_EXPANDER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_EXPANDER, GtkExpanderClass))
|
||||
#define GTK_IS_EXPANDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_EXPANDER))
|
||||
#define GTK_IS_EXPANDER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_EXPANDER))
|
||||
#define GTK_EXPANDER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_EXPANDER, GtkExpanderClass))
|
||||
|
||||
typedef struct _GtkExpander GtkExpander;
|
||||
typedef struct _GtkExpanderClass GtkExpanderClass;
|
||||
typedef struct _GtkExpanderPrivate GtkExpanderPrivate;
|
||||
|
||||
struct _GtkExpander
|
||||
{
|
||||
GtkBin bin;
|
||||
|
||||
GtkExpanderPrivate *priv;
|
||||
};
|
||||
|
||||
struct _GtkExpanderClass
|
||||
{
|
||||
GtkBinClass parent_class;
|
||||
|
||||
/* Key binding signal; to get notification on the expansion
|
||||
* state connect to notify::expanded.
|
||||
*/
|
||||
void (* activate) (GtkExpander *expander);
|
||||
};
|
||||
|
||||
GType gtk_expander_get_type (void);
|
||||
|
||||
GtkWidget *gtk_expander_new (const gchar *label);
|
||||
GtkWidget *gtk_expander_new_with_mnemonic (const gchar *label);
|
||||
|
||||
void gtk_expander_set_expanded (GtkExpander *expander,
|
||||
gboolean expanded);
|
||||
gboolean gtk_expander_get_expanded (GtkExpander *expander);
|
||||
|
||||
/* Spacing between the expander/label and the child */
|
||||
void gtk_expander_set_spacing (GtkExpander *expander,
|
||||
gint spacing);
|
||||
gint gtk_expander_get_spacing (GtkExpander *expander);
|
||||
|
||||
void gtk_expander_set_label (GtkExpander *expander,
|
||||
const gchar *label);
|
||||
G_CONST_RETURN gchar *gtk_expander_get_label (GtkExpander *expander);
|
||||
|
||||
void gtk_expander_set_use_underline (GtkExpander *expander,
|
||||
gboolean use_underline);
|
||||
gboolean gtk_expander_get_use_underline (GtkExpander *expander);
|
||||
|
||||
void gtk_expander_set_label_widget (GtkExpander *expander,
|
||||
GtkWidget *label_widget);
|
||||
GtkWidget *gtk_expander_get_label_widget (GtkExpander *expander);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* __GTK_EXPANDER_H__ */
|
Loading…
Reference in New Issue
Block a user