GTK+ replacements for libgnomeui widgets



As I said on #gtk-devel today, I've written some replacements for the
GnomeFileEntry and GnomePixmapEntry widgets in libgnomeui for possible
inclusion in GTK+ 2.6: EscoFileChooserEntry and EscoImageButton. I'm
attaching the headers.

Screenshots of these widgets in action are at:
http://esco.mine.nu/sshots/esco-file-chooser-entry-1.png
http://esco.mine.nu/sshots/esco-image-button-1.png
http://esco.mine.nu/sshots/user-selector-applet-0.0.7.png

The full sources, including a test app are at
http://esco.mine.nu/downloads/user-selector-applet-0.0.7.tar.gz in the
"src/esco-ui" directory.

-- 
Peace,

    Jim Cape
    http://ignore-your.tv

    "We still name our military helicopter gunships after victims
     of genocide. Nobody bats an eyelash about that: Blackhawk.
     Apache. And Comanche. If the Luftwaffe named its military
     helicopters Jew and Gypsy, I suppose people would notice."
       -- Noam Chomsky, "Propaganda and the Public Mind"
/* Escobar Libraries: escofilechooserentry.h
 * 
 * Copyright (c) 2004 James M. Cape <jcape ignore-your tv>
 *
 * 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.
 */

#ifndef __ESCO_FILE_CHOOSER_ENTRY_H__
#define __ESCO_FILE_CHOOSER_ENTRY_H__ 1

#include <gtk/gtkhbox.h>

G_BEGIN_DECLS


#define ESCO_TYPE_FILE_CHOOSER_ENTRY \
  (esco_file_chooser_entry_get_type ())
#define ESCO_FILE_CHOOSER_ENTRY(object) \
  (G_TYPE_CHECK_INSTANCE_CAST ((object), ESCO_TYPE_FILE_CHOOSER_ENTRY, EscoFileChooserEntry))
#define ESCO_FILE_CHOOSER_ENTRY_CLASS(klass) \
  (G_TYPE_CHECK_CLASS_CAST ((klass), ESCO_TYPE_FILE_CHOOSER_ENTRY, EscoFileChooserEntryClass))
#define ESCO_IS_FILE_CHOOSER_ENTRY(object) \
  (G_TYPE_CHECK_INSTANCE_TYPE ((object), ESCO_TYPE_FILE_CHOOSER_ENTRY))
#define ESCO_IS_FILE_CHOOSER_ENTRY_CLASS(klass) \
  (G_TYPE_CHECK_CLASS_TYPE ((klass), ESCO_TYPE_FILE_CHOOSER_ENTRY))
#define ESCO_FILE_CHOOSER_ENTRY_GET_CLASS(object) \
  (G_TYPE_INSTANCE_GET_CLASS ((object), ESCO_TYPE_FILE_CHOOSER_ENTRY, EscoFileChooserEntryClass))


typedef struct _EscoFileChooserEntry EscoFileChooserEntry;
typedef struct _EscoFileChooserEntryPrivate EscoFileChooserEntryPrivate;
typedef struct _EscoFileChooserEntryClass EscoFileChooserEntryClass;

struct _EscoFileChooserEntry
{
  /* <private> */
  GtkHBox parent;

  EscoFileChooserEntryPrivate *_priv;
};

struct _EscoFileChooserEntryClass
{
  /* <private> */
  GtkHBoxClass parent_class;

  void (*__esco_reserved1);
  void (*__esco_reserved2);
  void (*__esco_reserved3);
  void (*__esco_reserved4);
  void (*__esco_reserved5);
  void (*__esco_reserved6);
  void (*__esco_reserved7);
  void (*__esco_reserved8);
};


GType esco_file_chooser_entry_get_type (void) G_GNUC_CONST;

GtkWidget *esco_file_chooser_entry_new (const gchar *title);

void esco_file_chooser_entry_set_title (EscoFileChooserEntry *entry, const gchar *title);
G_CONST_RETURN gchar *esco_file_chooser_entry_get_title (EscoFileChooserEntry *entry);

void esco_file_chooser_entry_set_max_history_size (EscoFileChooserEntry *entry, guint max_size);
guint esco_file_chooser_entry_get_max_history_size (EscoFileChooserEntry *entry);

void esco_file_chooser_entry_add_history (EscoFileChooserEntry *entry, const gchar *filename);
void esco_file_chooser_entry_remove_history (EscoFileChooserEntry *entry, const gchar *filename);
void esco_file_chooser_entry_set_history (EscoFileChooserEntry *entry, GSList *history);
GSList *esco_file_chooser_entry_get_history (EscoFileChooserEntry *entry);


G_END_DECLS

#endif /* __ESCO_FILE_CHOOSER_ENTRY_H__ */
/* Escobar Libraries: escoimagebutton.h
 * 
 * Copyright (c) 2004 James M. Cape <jcape ignore-your tv>
 *
 * 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.
 */

#ifndef __ESCO_IMAGE_BUTTON_H__
#define __ESCO_IMAGE_BUTTON_H__ 1

#include <gtk/gtktogglebutton.h>

G_BEGIN_DECLS


#define ESCO_TYPE_IMAGE_BUTTON \
  (esco_image_button_get_type ())
#define ESCO_IMAGE_BUTTON(object) \
  (G_TYPE_CHECK_INSTANCE_CAST ((object), ESCO_TYPE_IMAGE_BUTTON, EscoImageButton))
#define ESCO_IMAGE_BUTTON_CLASS(klass) \
  (G_TYPE_CHECK_CLASS_CAST ((klass), ESCO_TYPE_IMAGE_BUTTON, EscoImageButtonClass))
#define ESCO_IS_IMAGE_BUTTON(object) \
  (G_TYPE_CHECK_INSTANCE_TYPE ((object), ESCO_TYPE_IMAGE_BUTTON))
#define ESCO_IS_IMAGE_BUTTON_CLASS(klass) \
  (G_TYPE_CHECK_CLASS_TYPE ((klass), ESCO_TYPE_IMAGE_BUTTON))
#define ESCO_IMAGE_BUTTON_GET_CLASS(object) \
  (G_TYPE_INSTANCE_GET_CLASS ((object), ESCO_TYPE_IMAGE_BUTTON, EscoImageButtonClass))


typedef struct _EscoImageButton EscoImageButton;
typedef struct _EscoImageButtonPrivate EscoImageButtonPrivate;
typedef struct _EscoImageButtonClass EscoImageButtonClass;

struct _EscoImageButton
{
  /* <private> */
  GtkToggleButton parent;

  EscoImageButtonPrivate *_priv;
};

struct _EscoImageButtonClass
{
  /* <private> */
  GtkToggleButtonClass parent_class;

  void (*__esco_reserved1);
  void (*__esco_reserved2);
  void (*__esco_reserved3);
  void (*__esco_reserved4);
  void (*__esco_reserved5);
  void (*__esco_reserved6);
  void (*__esco_reserved7);
  void (*__esco_reserved8);
};


GType esco_image_button_get_type (void) G_GNUC_CONST;

GtkWidget *esco_image_button_new (const gchar *title);

void esco_image_button_set_title (EscoImageButton *button, const gchar *title);
G_CONST_RETURN gchar *esco_image_button_get_title (EscoImageButton *button);

void esco_image_button_set_minimum_size (EscoImageButton *button, guint min_size);
guint esco_image_button_get_minimum_size (EscoImageButton *button);

void esco_image_button_set_show_label (EscoImageButton *button, gboolean show_label);
gboolean esco_image_button_get_show_label (EscoImageButton *button);


G_END_DECLS

#endif /* !__ESCO_IMAGE_BUTTON_H__ */

Attachment: signature.asc
Description: This is a digitally signed message part



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]