Graphviz 12.0.1~dev.20240716.0800
Loading...
Searching...
No Matches
gui.c
Go to the documentation of this file.
1/*************************************************************************
2 * Copyright (c) 2011 AT&T Intellectual Property
3 * All rights reserved. This program and the accompanying materials
4 * are made available under the terms of the Eclipse Public License v1.0
5 * which accompanies this distribution, and is available at
6 * https://www.eclipse.org/legal/epl-v10.html
7 *
8 * Contributors: Details at https://graphviz.org
9 *************************************************************************/
10
11#include <assert.h>
12#include <stdio.h>
13#include <stdlib.h>
14#include "gui.h"
15#include <glade/glade.h>
16#include <gdk/gdkkeysyms.h>
17#include <gdk/gdk.h>
18#include "viewport.h"
19#include <cgraph/alloc.h>
20#include <cgraph/strview.h>
21
22GladeXML *xml; //global libglade vars
23GtkWidget *gladewidget;
24
25void Color_Widget_bg(char *colorstring, GtkWidget * widget)
26{
27 GdkColor color;
28 gdk_color_parse(colorstring, &color);
29 gtk_widget_modify_bg(widget, GTK_STATE_NORMAL, &color);
30 gtk_widget_modify_base(widget, GTK_STATE_NORMAL, &color);
31}
32
34 //dlgOpenGraph , GtkDialog
35 gtk_entry_set_text((GtkEntry *)
36 glade_xml_get_widget(xml, "entryGraphFileName"),
38}
39
41{
42 Dlg = (GtkMessageDialog *) gtk_message_dialog_new(NULL,
43 GTK_DIALOG_MODAL,
44 GTK_MESSAGE_WARNING,
45 GTK_BUTTONS_OK, "%s", str);
46
47 gtk_dialog_run((GtkDialog *) Dlg);
48 gtk_object_destroy((GtkObject *) Dlg);
49}
50
51
52
53/*
54Generic Open File dialog, if a file is selected and return value is 1, else 0
55file name is copied to char* filename,which should be allocated before using the function
56*/
57int openfiledlg(char **filename) {
58 assert(filename != NULL);
59
60 GtkWidget *dialog;
61 int rv;
62
63 dialog = gtk_file_chooser_dialog_new("Open File",
64 NULL,
65 GTK_FILE_CHOOSER_ACTION_OPEN,
66 GTK_STOCK_CANCEL,
67 GTK_RESPONSE_CANCEL,
68 GTK_STOCK_OPEN,
69 GTK_RESPONSE_ACCEPT, NULL);
70
71 if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) {
72 *filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog));
73 rv = 1;
74 } else
75 rv = 0;
76
77 gtk_widget_destroy(dialog);
78 return rv;
79}
80
81int savefiledlg(char **filename) {
82 assert(filename != NULL);
83
84 GtkWidget *dialog;
85 int rv;
86
87 dialog = gtk_file_chooser_dialog_new("Save File",
88 NULL,
89 GTK_FILE_CHOOSER_ACTION_OPEN,
90 GTK_STOCK_CANCEL,
91 GTK_RESPONSE_CANCEL,
92 GTK_STOCK_OPEN,
93 GTK_RESPONSE_ACCEPT, NULL);
94
95 if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) {
96 *filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog));
97 rv = 1;
98 } else
99 rv = 0;
100
101 gtk_widget_destroy(dialog);
102 return rv;
103}
104
105void append_textview(GtkTextView * textv, const char *s, size_t bytes)
106{
107
108 GtkTextIter endit;
109 GtkTextBuffer *gtkbuf;
110 /*get text view buffer */
111 gtkbuf = gtk_text_view_get_buffer(textv);
112 /*set iterator to the end of the buffer */
113 gtk_text_buffer_get_end_iter(gtkbuf, &endit);
114 /* insert buf to the end */
115 gtk_text_buffer_insert(gtkbuf, &endit, s, (gint)bytes);
116
117}
Memory allocation wrappers that exit on failure.
node NULL
Definition grammar.y:149
int openfiledlg(char **filename)
Definition gui.c:57
GtkWidget * gladewidget
Definition gui.c:23
int savefiledlg(char **filename)
Definition gui.c:81
void load_graph_properties(void)
Definition gui.c:33
void Color_Widget_bg(char *colorstring, GtkWidget *widget)
Definition gui.c:25
void show_gui_warning(char *str)
Definition gui.c:40
GladeXML * xml
Definition gui.c:22
void append_textview(GtkTextView *textv, const char *s, size_t bytes)
Definition gui.c:105
static void color(Agraph_t *g)
Definition gvcolor.c:128
agxbuf * str
Definition htmlparse.c:97
ViewInfo * view
Definition viewport.c:38
GtkMessageDialog * Dlg
Definition viewport.c:40
topview * Topview
Definition smyrnadefs.h:334
char * GraphFileName
Definition smyrnadefs.h:163
graph_data Graphdata
Definition smyrnadefs.h:250
Non-owning string references.
Definition grammar.c:93