[gnome-latex: 4/205] GUI: source view and log/message zone with a vertical pane and automatic scrollbars
- From: Sébastien Wilmet <swilmet src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-latex: 4/205] GUI: source view and log/message zone with a vertical pane and automatic scrollbars
- Date: Fri, 14 Dec 2018 10:47:13 +0000 (UTC)
commit 83ad65686f15a2d0557bfe129bc4f2db9f593398
Author: Sébastien Wilmet <sebastien wilmet gmail com>
Date: Tue Jul 28 01:09:01 2009 +0200
GUI: source view and log/message zone with a vertical pane and automatic scrollbars
AUTHORS | 2 +-
GOALS | 2 +-
TODO | 19 ++++++++++++-------
main.c | 48 ++++++++++++++++++++++++++++++++++++++++++++----
4 files changed, 58 insertions(+), 13 deletions(-)
---
diff --git a/AUTHORS b/AUTHORS
index 75dc26f..d02c61f 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -1 +1 @@
-Sébastien Wilmet : sebastien wilmet gmail com
+Sébastien Wilmet <sebastien wilmet gmail com>
diff --git a/GOALS b/GOALS
index a5afedd..bf4f43b 100644
--- a/GOALS
+++ b/GOALS
@@ -25,5 +25,5 @@ Objectifs en plus pour la version 0.1 :
- système de backup (fichiers~) et de sauvegarde automatique toutes les x minutes
- pouvoir configurer les commandes pour la compilation et le visionnage
- préférences pour les caractères (taille, police, couleurs, etc)
-- pouvoir choisir les boutons à afficher
+- pouvoir personnaliser la barre d'outils
diff --git a/TODO b/TODO
index 21a5730..80e8a15 100644
--- a/TODO
+++ b/TODO
@@ -1,21 +1,26 @@
TODO LaTeXila
-23/07/2009 au 29/07/2009
+23/07/2009 au 28/07/2009
-[-] faire l'interface graphique
+[x] faire l'interface graphique
x menu
x barre d'outils
- - zone de texte éditable (comme gedit)
- - zone de log/messages
+ x zone de texte éditable (comme gedit)
+ x zone de log/messages
x barre de status
-[-] trouver plus de doc sur le développement d'application GNOME (un site qui regroupe tout ?)
+[x] trouver plus de doc sur le développement d'application GNOME
x barre d'outils : boutons avec texte et icône qui changent selon les préférences définies dans GNOME
: texte en-dessous, icônes seules, etc.
x icônes de base changeant selon le thème
x traduction, internationalisation
- - gestion et enregistrement des préférences utilisateurs (avec gconf)
- - ...
+ x coloration syntaxique
[x] GIT
x mettre en place GIT en local
x comprendre les commandes de base
+
+[-] traduction (gettext)
+ - lire le tutoriel
+ - mettre en place la traduction
+ - traduire
+
diff --git a/main.c b/main.c
index e8862bc..862cb89 100644
--- a/main.c
+++ b/main.c
@@ -56,6 +56,8 @@ main (int argc, char *argv[])
gtk_init (&argc, &argv);
+ /* main window */
+
GtkWidget *window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
g_signal_connect (G_OBJECT (window), "destroy",
G_CALLBACK (gtk_main_quit), NULL);
@@ -63,8 +65,16 @@ main (int argc, char *argv[])
G_CALLBACK (gtk_main_quit), NULL);
gtk_window_set_title (GTK_WINDOW (window), "LaTeXila");
- GtkWidget *main_vbox = gtk_vbox_new (FALSE, 0);
- gtk_container_add (GTK_CONTAINER (window), main_vbox);
+ /* boxes and panes */
+
+ GtkWidget *vbox1 = gtk_vbox_new (FALSE, 0);
+ gtk_container_add (GTK_CONTAINER (window), vbox1);
+
+ GtkWidget *vbox2 = gtk_vbox_new (FALSE, 0);
+ gtk_box_pack_end (GTK_BOX (vbox1), vbox2, TRUE, TRUE, 0);
+
+ GtkWidget *vpaned = gtk_vpaned_new ();
+ gtk_box_pack_start (GTK_BOX (vbox2), vpaned, TRUE, TRUE, 0);
/* menubar */
GtkUIManager *ui_manager = gtk_ui_manager_new ();
@@ -78,11 +88,41 @@ main (int argc, char *argv[])
return EXIT_FAILURE;
}
g_signal_connect (ui_manager, "add-widget", G_CALLBACK (menu_add_widget),
- main_vbox);
+ vbox1);
+
+ /* source view */
+ GtkWidget *source_view = gtk_text_view_new ();
+ GtkTextBuffer *source_buffer = gtk_text_view_get_buffer (
+ GTK_TEXT_VIEW (source_view));
+ char *source_default_text = "\\documentclass[a4paper,11pt]{article}\n"
+ "\\begin{document}\n"
+ "\\end{document}";
+ gtk_text_buffer_set_text (source_buffer, source_default_text, -1);
+
+ // with a scrollbar
+ GtkWidget *sw = gtk_scrolled_window_new (NULL, NULL);
+ gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw),
+ GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
+ gtk_paned_pack1 (GTK_PANED (vpaned), sw, TRUE, TRUE);
+ gtk_container_add (GTK_CONTAINER (sw), source_view);
+
+ /* log zone */
+ GtkWidget *log_view = gtk_text_view_new ();
+ GtkTextBuffer *log_buffer = gtk_text_view_get_buffer (
+ GTK_TEXT_VIEW (log_view));
+ gtk_text_buffer_set_text (log_buffer, "Welcome to LaTeXila!", -1);
+ gtk_text_view_set_editable (GTK_TEXT_VIEW(log_view), FALSE);
+
+ // with a scrollbar
+ sw = gtk_scrolled_window_new (NULL, NULL);
+ gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw),
+ GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
+ gtk_paned_pack2 (GTK_PANED (vpaned), sw, TRUE, TRUE);
+ gtk_container_add (GTK_CONTAINER (sw), log_view);
/* statusbar */
GtkWidget *statusbar = gtk_statusbar_new ();
- gtk_box_pack_end (GTK_BOX (main_vbox), statusbar, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (vbox2), statusbar, FALSE, FALSE, 0);
gtk_widget_show_all (window);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]