aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/text/e-entry.h
blob: 30b83c10d0794b54a50e73e589c4f18cd4d5c5fb (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
/* 
 * e-entry.h - An EText-based entry widget
 * Copyright 2000, 2001, Ximian, Inc.
 *
 * Authors:
 *   Chris Lahey     <clahey@ximian.com>
 *   Jon Trowbridge  <trow@ximian.com>
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Library General Public
 * License, version 2, as published by the Free Software Foundation.
 *
 * 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 _E_ENTRY_H_
#define _E_ENTRY_H_

#include <libgnomecanvas/gnome-canvas.h>
#include <gtk/gtktable.h>
#include <libxml/tree.h>
#include <text/e-text.h>
#include "e-completion.h"

G_BEGIN_DECLS

#define E_ENTRY_TYPE        (e_entry_get_type ())
#define E_ENTRY(o)          (G_TYPE_CHECK_INSTANCE_CAST ((o), E_ENTRY_TYPE, EEntry))
#define E_ENTRY_CLASS(k)    (G_TYPE_CHECK_CLASS_CAST((k), E_ENTRY_TYPE, EEntryClass))
#define E_IS_ENTRY(o)       (G_TYPE_CHECK_INSTANCE_TYPE ((o), E_ENTRY_TYPE))
#define E_IS_ENTRY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), E_ENTRY_TYPE))

typedef struct _EEntry EEntry;
typedef struct _EEntryClass EEntryClass;
struct _EEntryPrivate;

typedef void (*EEntryCompletionHandler) (EEntry *entry, ECompletionMatch *match);

struct _EEntry {
    GtkTable parent;

    GnomeCanvas *canvas;
    EText *item;

    struct _EEntryPrivate *priv;
};

struct _EEntryClass {
    GtkTableClass parent_class;

    void (* changed)  (EEntry *entry);
    void (* activate) (EEntry *entry);
    void (* populate_popup)   (EEntry *entry, GdkEventButton *ev, gint pos, GtkMenu *menu);
    void (* completion_popup) (EEntry *entry, gint visible);
};

GtkType      e_entry_get_type          (void);

void         e_entry_construct         (EEntry *entry);
GtkWidget   *e_entry_new               (void);

const gchar *e_entry_get_text          (EEntry *entry);
void         e_entry_set_text          (EEntry *entry, const gchar *text);

gint         e_entry_get_position      (EEntry *entry);
void         e_entry_set_position      (EEntry *entry, gint);
void         e_entry_select_region     (EEntry *entry, gint start, gint end);

void         e_entry_set_editable      (EEntry *entry, gboolean editable);

void         e_entry_enable_completion      (EEntry *entry, ECompletion *completion);
void         e_entry_enable_completion_full (EEntry *entry, ECompletion *completion, gint autocomplete_delay,
                         EEntryCompletionHandler handler);
gboolean     e_entry_completion_popup_is_visible (EEntry *entry);

G_END_DECLS

#endif /* _E_ENTRY_H_ */
/span>1-0/+1 * Remove expired ports:rene2019-04-181-1/+0 * Add py-more-itertools5 5.0.0 (copied from py-more-itertools)sunpoet2019-04-181-0/+1 * New port: devel/cfr: Class File Reader (CFR) Java decompiler0mp2019-04-171-0/+1 * New Port: devel/phpunit8joneum2019-04-171-0/+1 * Add py-prompt_toolkit1 1.0.5 (copied from py-prompt_toolkit)sunpoet2019-04-171-0/+1 * Add py-tabulator 1.19.1sunpoet2019-04-161-0/+1 * Add py-jsonschema2 2.6.0 (copied from py-jsonschema)sunpoet2019-04-161-0/+1 * Add py-ijson 2.3sunpoet2019-04-161-0/+1 * New port: devel/p5-MooseX-MungeHaskai2019-04-151-0/+1 * New port: devel/p5-MooX-Singletonkai2019-04-151-0/+1 * New port: devel/p5-File-ShareDir-Tarballkai2019-04-151-0/+1 * devel/pecl-xdebug25 devel/pecl-xdebug-devel: Remove obsolete portspizzamig2019-04-091-2/+0 * devel/lab: create portswills2019-04-091-0/+1 * New port: devel/py-javapropertieskai2019-04-081-0/+1 * New port: devel/py-saneyamlkai2019-04-081-0/+1 * New port: devel/rttr -- Run Time Type Reflectiontcberner2019-04-061-0/+1 * devel/modules2tuple: create portswills2019-04-051-0/+1 * Remove expired port and two leaf ports that depend on it:rene2019-04-051-2/+0 * Remove expired ports:rene2019-04-051-4/+0 * go-gt aims to reach the completeness of libgit2 or jgit, nowadays covers themiwi2019-04-021-0/+1 * Remove expired ports:tobik2019-04-021-19/+0 * Remove LLVM 3.8.x.brooks2019-04-021-1/+0 * Remove expired devel/rubygem-sidekiq-cron0sunpoet2019-03-311-1/+0 * New port: devel/py-pydantic: Data validation and settings management using py...yuri2019-03-311-0/+1 * New port: devel/py-dataclasses: Backport of the dataclasses module for Python...yuri2019-03-311-0/+1 * New port: devel/py-addict: Dictionary whose items can be set using both attri...yuri2019-03-311-0/+1 * Upgrade the LXQt desktop environment to 0.14.0jsm2019-03-291-1/+0 * New port: devel/py-testfixtures: Collection of helpers and mock objects for u...0mp2019-03-291-0/+1 * SnakeViz is a viewer for Python profiling data that runs as a webamdmi32019-03-271-0/+1 * Python library for decoding time units and variable values in a netCDFwen2019-03-271-0/+1 * Obsolete, please use devel/rubygem-fog-json instead.mfechner2019-03-261-1/+0 * New port: devel/deployertz2019-03-251-0/+1 * It is an experimental port of MooseX::Role::Parameterized to Moo.wen2019-03-251-0/+1 * This is a Moo extension. It allows other attributes for "has" in Moo.wen2019-03-251-0/+1 * Remove expired webkit-gtk2 and webkit-gtk3 ports.kwm2019-03-251-3/+0 * Add rubygem-fast_gettext1 1.8.0 (copied from rubygem-fast_gettext)sunpoet2019-03-241-0/+1 * Add dateparser, which provides python modules to easily parse localizedgrembo2019-03-241-0/+1 * Add rubygem-cucumber-expressions6 6.0.1 (copied from rubygem-cucumber-express...sunpoet2019-03-231-0/+1 * devel/libsysctlmibinfo: new portpizzamig2019-03-211-0/+1 * Add rubygem-fog-core210 2.1.0 (copied from rubygem-fog-core)sunpoet2019-03-211-0/+1 * Add py-xarray011 0.11.3 (copied from py-xarray)sunpoet2019-03-181-0/+1 * Add p5-Module-Loader 0.03sunpoet2019-03-181-0/+1 * Add devel/kerl, a virtualenv-like tool for Erlang/OTP releases.olgeni2019-03-171-0/+1 * Qt4 deprecation:tcberner2019-03-171-1/+0 * Qt4 deprecation:tcberner2019-03-171-1/+0 * Qt4 deprecation: Remove Qt4 and its consumes.tcberner2019-03-171-62/+0 * Qt4 deprecation: remove devel/git-colatcberner2019-03-171-1/+0 * Add rubygem-aws-eventstream 1.0.2sunpoet2019-03-141-0/+1 * Add a port of REDasm, an interactive, multiarchitecture disassemblerdanfe2019-03-111-0/+1 * devel/py-wadllib: fix devel/Makefilepi2019-03-111-1/+1 * New port: devel/brzpi2019-03-111-0/+1 * New port: devel/py-launchpadlibpi2019-03-111-0/+1 * New port: devel/py-lazr.restfulclientpi2019-03-111-0/+1 * New port: devel/py-wadllibpi2019-03-111-0/+1 * New port: devel/py-lazr.uripi2019-03-111-0/+1 * New port: devel/p5-Alien-Base-ModuleBuildpi2019-03-101-0/+1 * New port: devel/p5-Alien-Buildpi2019-03-101-0/+1 * New port: devel/p5-Shell-Config-Generatepi2019-03-101-0/+1 * Add py-flake8-bugbear 18.8.0sunpoet2019-03-101-0/+1 * New port: devel/p5-Shell-Guesspi2019-03-101-0/+1 * New port: devel/py-ewmhtcberner2019-03-091-0/+1 * Add a meta-port for the default version of LLVM.brooks2019-03-081-0/+1 * Remove expired ports:rene2019-03-071-3/+0 * Add py-typed-ast12 1.2.0 (copied from py-typed-ast)sunpoet2019-03-061-0/+1 * Remove expired ports:rene2019-03-051-1/+0 * Add py-click6 6.7 (copied from py-click)sunpoet2019-03-051-0/+1 * Add p5-Keyword-Pluggable 1.04sunpoet2019-03-051-0/+1 * Obsolete by upgrade www/gitlab-ce to version 11.8.mfechner2019-03-041-1/+0 * Remove expired ports:rene2019-03-031-1/+0 * New ports required by gitlab-ce upgrade to 11.8.mfechner2019-03-021-0/+2 * Add devel/py-azure-mgmt-kustodbaio2019-03-021-0/+1 * Add devel/py-azure-mgmt-securitydbaio2019-03-021-0/+1 * Add py-schedule 0.6.0sunpoet2019-03-011-0/+1 * Remove expired devel/rubygem-grape0sunpoet2019-02-281-1/+0 * Move devel/rtichoke -> devel/radian: project is renamed; Update 0.2.14 -> 0.3.2yuri2019-02-271-1/+1 * New port: devel/py-rchitect: Interoperate R with Pythonyuri2019-02-271-0/+1 * New port: devel/hpx: C++ Standard Library for Parallelism and Concurrencyyuri2019-02-251-0/+1 * New port: devel/loccount: Count source lines of code in a projectyuri2019-02-241-0/+1 * Removed libgalago, this is abandonned upstream since 2006bapt2019-02-241-1/+0 * Remove eggdbus, this is abandonned upstream since 2009 and not depended onbapt2019-02-241-1/+0 * New port: devel/milltobik2019-02-231-0/+1 * Add py-lark-parser 0.6.6sunpoet2019-02-231-0/+1 * New port: devel/corrade: C++11/C++14 multiplatform utility libraryyuri2019-02-191-0/+1 * Add py-jsondiff 1.1.2sunpoet2019-02-191-0/+1 * New port: devel/py-asciimatics: Mouse/keyboard input, text color/positioning,...yuri2019-02-191-0/+1 * New port: devel/py-jsonpath-rw: Implementation of JSONPath for Pythonyuri2019-02-191-0/+1 * New port: devel/py-nanotime: Nanotime python implementationyuri2019-02-191-0/+1 * Add p5-Term-TablePrint 0.108sunpoet2019-02-181-0/+1 * Add p5-Term-Choose-Util 0.070sunpoet2019-02-181-0/+1 * Add p5-Term-Choose 1.644sunpoet2019-02-181-0/+1 * Move: devel/libdouble-conversion -> devel/double-conversionyuri2019-02-171-1/+1 * Add py-graphene 2.1.3sunpoet2019-02-171-0/+1 * Add py-graphql-relay 0.4.5sunpoet2019-02-171-0/+1 * Add py-graphql-core 2.1sunpoet2019-02-171-0/+1 * Add py-rx 1.6.1sunpoet2019-02-171-0/+1 * Add py-promise 2.2.1sunpoet2019-02-171-0/+1 * Add py-proglog 0.1.9sunpoet2019-02-171-0/+1 * Add py-aiofiles 0.4.0sunpoet2019-02-171-0/+1 * New port: devel/remotery: Single file, realtime CPU/GPU profiler library with...0mp2019-02-171-0/+1 * Add py-azure-mgmt-sqlvirtualmachinedbaio2019-02-171-0/+1 * New port: devel/gnpi2019-02-171-0/+1 * Remove expired ports:rene2019-02-171-2/+0 * Remove expired ports:rene2019-02-171-2/+0 * Add libcbor 0.5.0sunpoet2019-02-161-0/+1 * add PySide2 - Python Binding for Qt5cmt2019-02-101-0/+3 * New port: devel/git-absorb: Git command for automating fixup/autosquash commitstcberner2019-02-091-0/+1 * Add py-datatest 0.9.3sunpoet2019-02-051-0/+1 * Add p5-Perl-PrereqScanner-NotQuiteLite 0.9903sunpoet2019-02-051-0/+1 * Add p5-Regexp-Trie 0.02sunpoet2019-02-051-0/+1 * Add py-msgpack05 0.5.6 (copied from py-msgpack)sunpoet2019-02-051-0/+1 * Remove expired ports:rene2019-02-051-3/+0 * Add py-aws-xray-sdk 2.3.0sunpoet2019-02-041-0/+1 * new port: devel/pear-geshijmd2019-02-031-0/+1 * Add rubygem-batch-loader12 1.2.2 (copied from rubygem-batch-loader)sunpoet2019-02-031-0/+1 * New port: devel/ghqtobik2019-02-021-0/+1 * Port is obsolete, please use devel/rubygem-temple instead.mfechner2019-02-021-1/+0 * Add py-azure-mgmt-applicationinsightsdbaio2019-02-011-0/+1 * devel/interactive_rebase_tool: create portswills2019-01-311-0/+1