1
#ifndef SEEN_SP_COLOR_NOTEBOOK_H
2
#define SEEN_SP_COLOR_NOTEBOOK_H
5
* A notebook with RGB, CMYK, CMS, HSL, and Wheel pages
8
* Lauris Kaplinski <lauris@kaplinski.com>
10
* Copyright (C) 2001-2002 Lauris Kaplinski
12
* This code is in public domain
15
#include <gtk/gtkvbox.h>
16
#include <gtk/gtknotebook.h>
17
#include <gtk/gtkentry.h>
19
#include "sp-color-selector.h"
25
struct SPColorNotebook;
27
class ColorNotebook: public ColorSelector
30
ColorNotebook( SPColorSelector* csel );
31
virtual ~ColorNotebook();
35
SPColorSelector* getCurrentSelector();
36
void switchPage( GtkNotebook *notebook, GtkNotebookPage *page, guint page_num );
38
GtkWidget* addPage( GType page_type, guint submode );
39
void removePage( GType page_type, guint submode );
40
GtkWidget* getPage( GType page_type, guint submode );
42
gint menuHandler( GdkEvent* event );
45
static void _rgbaEntryChangedHook( GtkEntry* entry, SPColorNotebook *colorbook );
46
static void _entryGrabbed( SPColorSelector *csel, SPColorNotebook *colorbook );
47
static void _entryDragged( SPColorSelector *csel, SPColorNotebook *colorbook );
48
static void _entryReleased( SPColorSelector *csel, SPColorNotebook *colorbook );
49
static void _entryChanged( SPColorSelector *csel, SPColorNotebook *colorbook );
50
static void _entryModified( SPColorSelector *csel, SPColorNotebook *colorbook );
52
virtual void _colorChanged();
54
void _rgbaEntryChanged( GtkEntry* entry );
55
void _updateRgbaEntry( const SPColor& color, gfloat alpha );
57
gboolean _updating : 1;
58
gboolean _updatingrgba : 1;
59
gboolean _dragging : 1;
63
GtkWidget *_rgbal, *_rgbae; /* RGBA entry */
64
GtkWidget *_p; /* Color preview */
67
GPtrArray *_trackerList;
70
// By default, disallow copy constructor and assignment operator
71
ColorNotebook( const ColorNotebook& obj );
72
ColorNotebook& operator=( const ColorNotebook& obj );
77
#define SP_TYPE_COLOR_NOTEBOOK (sp_color_notebook_get_type ())
78
#define SP_COLOR_NOTEBOOK(o) (GTK_CHECK_CAST ((o), SP_TYPE_COLOR_NOTEBOOK, SPColorNotebook))
79
#define SP_COLOR_NOTEBOOK_CLASS(k) (GTK_CHECK_CLASS_CAST ((k), SP_TYPE_COLOR_NOTEBOOK, SPColorNotebookClass))
80
#define SP_IS_COLOR_NOTEBOOK(o) (GTK_CHECK_TYPE ((o), SP_TYPE_COLOR_NOTEBOOK))
81
#define SP_IS_COLOR_NOTEBOOK_CLASS(k) (GTK_CHECK_CLASS_TYPE ((k), SP_TYPE_COLOR_NOTEBOOK))
83
struct SPColorNotebook {
84
SPColorSelector parent; /* Parent */
87
struct SPColorNotebookClass {
88
SPColorSelectorClass parent_class;
90
void (* grabbed) (SPColorNotebook *rgbsel);
91
void (* dragged) (SPColorNotebook *rgbsel);
92
void (* released) (SPColorNotebook *rgbsel);
93
void (* changed) (SPColorNotebook *rgbsel);
96
GType sp_color_notebook_get_type(void);
98
GtkWidget *sp_color_notebook_new (void);
100
/* void sp_color_notebook_set_mode (SPColorNotebook *csel, SPColorNotebookMode mode); */
101
/* SPColorNotebookMode sp_color_notebook_get_mode (SPColorNotebook *csel); */
105
#endif // SEEN_SP_COLOR_NOTEBOOK_H
110
c-file-style:"stroustrup"
111
c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
116
// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :