mirror of
https://gitlab.gnome.org/GNOME/nautilus
synced 2024-09-13 04:51:15 +00:00
34b865db46
* libnautilus-extensions/nautilus-glib-extensions.c: (nautilus_shell_quote), (nautilus_g_round): * libnautilus-extensions/nautilus-glib-extensions.h: Added nautilus_g_round. * libnautilus-extensions/nautilus-icon-container.c: (nautilus_icon_container_start_renaming_selected_item): * libnautilus-extensions/nautilus-icon-text-item.c: (iti_stop_editing), (layout_text), (iti_edition_accept), (iti_entry_text_changed_by_clipboard), (iti_start_editing), (iti_destroy), (recompute_bounding_box), (iti_update), (iti_draw), (iti_render), (iti_point), (iti_start_selecting), (iti_stop_selecting), (iti_selection_motion), (iti_ensure_focus), (iti_event), (iti_bounds), (nautilus_icon_text_item_configure), (nautilus_icon_text_item_setxy), (nautilus_icon_text_item_select), (nautilus_icon_text_item_set_text), (nautilus_icon_text_item_get_type): * libnautilus-extensions/nautilus-icon-text-item.h: Overhauled nautilus-icon-text-item to be a more proper canvas item - mainly fixing it's use of coordinates. Also simplified its configure api a bit. This fixed bug 4166. Also put in a workaround to fix bug 3973.
96 lines
3.4 KiB
C
96 lines
3.4 KiB
C
/* nautilus-icon-text-item: an editable text block with word wrapping for the
|
|
* GNOME canvas.
|
|
*
|
|
* Copyright (C) 1998, 1999 The Free Software Foundation
|
|
*
|
|
* Authors: Miguel de Icaza <miguel@gnu.org>
|
|
* Federico Mena <federico@gimp.org>
|
|
*/
|
|
|
|
#ifndef NAUTILUS_ICON_TEXT_ITEM_H
|
|
#define NAUTILUS_ICON_TEXT_ITEM_H
|
|
|
|
#include <gtk/gtkeditable.h>
|
|
#include <libgnome/gnome-defs.h>
|
|
#include <libgnomeui/gnome-canvas.h>
|
|
#include <libgnomeui/gnome-icon-text.h>
|
|
|
|
#define NAUTILUS_ICON_TEXT_ITEM(obj) (GTK_CHECK_CAST((obj), \
|
|
nautilus_icon_text_item_get_type (), NautilusIconTextItem))
|
|
#define NAUTILUS_ICON_TEXT_ITEM_CLASS(k) (GTK_CHECK_CLASS_CAST ((k),\
|
|
nautilus_icon_text_item_get_type ()))
|
|
#define NAUTILUS_IS_ICON_TEXT_ITEM(o) (GTK_CHECK_TYPE((o), \
|
|
nautilus_icon_text_item_get_type ()))
|
|
|
|
/* This structure has been converted to use public and private parts. */
|
|
typedef struct {
|
|
GnomeCanvasItem canvas_item;
|
|
|
|
double x_center; /* center of text, item coords */
|
|
double y_top; /* top of text, item coords */
|
|
|
|
int max_text_width; /* max width of text - canvas coords */
|
|
|
|
/* Font */
|
|
GdkFont *font;
|
|
|
|
/* Private data */
|
|
gpointer priv; /* was GtkEntry *entry */
|
|
|
|
/* Actual text */
|
|
char *text;
|
|
|
|
/* Text layout information */
|
|
GnomeIconTextInfo *ti;
|
|
|
|
/* Whether the text is being edited */
|
|
unsigned int editing : 1;
|
|
|
|
/* Whether the text item is selected */
|
|
unsigned int selected : 1;
|
|
|
|
/* Whether the user is select-dragging a block of text */
|
|
unsigned int selecting : 1;
|
|
|
|
/* Whether the text is allocated by us (FALSE if allocated by the client) */
|
|
unsigned int is_text_allocated : 1;
|
|
|
|
} NautilusIconTextItem;
|
|
|
|
typedef struct {
|
|
GnomeCanvasItemClass parent_class;
|
|
|
|
/* Signals we emit */
|
|
int (* text_changed) (NautilusIconTextItem *item);
|
|
void (* text_edited) (NautilusIconTextItem *item);
|
|
void (* height_changed) (NautilusIconTextItem *item);
|
|
void (* width_changed) (NautilusIconTextItem *item);
|
|
void (* editing_started) (NautilusIconTextItem *item);
|
|
void (* editing_stopped) (NautilusIconTextItem *item);
|
|
void (* selection_started) (NautilusIconTextItem *item);
|
|
void (* selection_stopped) (NautilusIconTextItem *item);
|
|
} NautilusIconTextItemClass;
|
|
|
|
GtkType nautilus_icon_text_item_get_type (void);
|
|
void nautilus_icon_text_item_configure (NautilusIconTextItem *item,
|
|
double x_center,
|
|
double y_top,
|
|
int max_text_width,
|
|
GdkFont *font,
|
|
const char *text,
|
|
gboolean is_static);
|
|
void nautilus_icon_text_item_setxy (NautilusIconTextItem *item,
|
|
double x_center,
|
|
double y_top);
|
|
void nautilus_icon_text_item_select (NautilusIconTextItem *item,
|
|
int sel);
|
|
void nautilus_icon_text_item_set_text (NautilusIconTextItem *item,
|
|
const char *text);
|
|
const char * nautilus_icon_text_item_get_text (NautilusIconTextItem *item);
|
|
void nautilus_icon_text_item_start_editing (NautilusIconTextItem *item);
|
|
void nautilus_icon_text_item_stop_editing (NautilusIconTextItem *item,
|
|
gboolean accept);
|
|
GtkEditable *nautilus_icon_text_item_get_renaming_editable (NautilusIconTextItem *item);
|
|
|
|
#endif /* NAUTILUS_ICON_TEXT_ITEM_H */
|