45 Commits

Author SHA1 Message Date
Jiří Techet
10a28b4191 Protect private definitions by the GEANY_PRIVATE macro in headers
In addition, this patch defines the GEANY_PRIVATE macro for the tag
manager library where it wasn't defined before, removes 2 tag manager
headers from distribution as they are not needed by plugins and
in the tag manager changes the docstrings to ordinary comments for
private definitions.
2014-10-09 20:51:32 +02:00
Matthew Brush
4efcbab332 Include what you use
This is a mega-commit - because most of it had to be done in one go
otherwise some commits would fail to compile - that attempts to fix a
few problems with Geany's includes as well as various other related
cleanups. After this change it's easier to use includes and there's
little worry about which order things are included in or who includes
what.

Overview of changes:

* Include config.h at the start of each source file if HAVE_CONFIG_H
  is defined (and never in headers).
* Go through each source file and make the includes section generally
  like this:
  - Always config.h first as above
  - Then if the file has a header with the same name, include that
  - Then include in alphabetical order each other internal/geany header.
  - Then include standard headers
  - Then include non-standard system headers
  - Then include GLib/GTK+ related stuff
* Doing as above makes it easier to find implicit header include
  dependencies and it exposed quite a few weird problems with includes
  or forward declarations, fix those.
* Make geany.h contain not much besides some defines.
  - Add a little header file "app.h" for GeanyApp and move it there
  - Move "app" global to new "app.h" file
  - Move "ignore_callback" global to "callbacks.h"
  - Move "geany_object" global to "geanyobject.h"
* Add an include in "geany.h" for "app.h" since GeanyApp used to be
  defined there and some plugins included this header to access
  GeanyApp.
* Include "gtkcompat.h" everywhere instead of gtk/gtk.h so that
  everywhere sees the same definitions (not a problem in practice AFAIK
  so this could be changed back if better that way.
* Remove forward declarations from previous commits as some people
  apparently consider this bad style, despite that it reduces inter-
  header dependencies.

TODO:
* As always, to test on win32
* As always, to test with not Autotools
* Test plugins better, both builtin and geany-plugins, likely API/ABI bump
* Test with various defines/flags that may change what is included
* win32.[ch] not really touched since I couldn't test
2014-05-21 15:37:19 -07:00
Matthew Brush
6f87aac118 Normalize use of header guards and extern "C" guards
* Always define GEANY_FOO_H to 1 in the header guards
* Always put a G_BEGIN_DECLS/G_END_DECLS guard in every header for
consistency, even private ones where it doesn't matter.
* Always include either <glib.h>, <gtk/gtk.h> or some other header
that will provide G_BEGIN_DECLS before using it. In a lot of headers
that use glib.h and gtk/gtk.h stuff anyway, this resolves an implicit
dependency they had on them being included before that header.
* Always put a comment at the #endif part of the guard so it's
easier to see what it applies to.
* Always use an underscore between the header guard identifier's words
even though the filename doesn't have one.
2014-05-21 12:18:26 -07:00
Colomban Wendling
d80bc7ce56 Update FSF address
Closes #3557875.
2012-08-24 19:25:57 +02:00
Colomban Wendling
1c2c455b1d Update copyright information 2012-06-18 01:15:04 +02:00
Matthew Brush
51dc2e9baf Support plugins written in C++
Rename use of C++ `template` keyword in plugin API function argument
and add `G_BEGIN_DECLS` and `G_END_DECLS` to public header files to
make them easier to include in C++ code. TagManager and Scintilla
headers already have these `extern "C"` blocks so they shouldn't
require any modifications.

The Autotools build system already adds in a `dummy.cxx` to hint
Automake into C++ linking to support Scintilla, which is quite
convenient for dynamically loading of C++ plugins at run-time into
the otherwise C-only program. The other build systems seem to also
use the correct linking.
2012-03-30 23:35:10 -07:00
Colomban Wendling
d06e9f4575 Remove $Id$ and $Date$ SVN keywords 2011-10-09 22:57:35 +02:00
Colomban Wendling
24583dc507 Focus the editor upon double click on the message and compiler windows
Also improve the code a bit by using a boolean to know whether to focus
the editor rather than always pass the key value and check it against
enter-or-return in the callee side.

Patch by Dimitar Zhekov, thanks!

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5887 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-08-13 20:44:39 +00:00
Enrico Tröger
6ac2623208 Update copyright information.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5528 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-01-19 19:39:09 +00:00
Nick Treleaven
98e6efb3b4 Add msgwin_set_messages_dir() to API (patch by Jiří Techet, thanks).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5237 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-09-16 15:31:23 +00:00
Nick Treleaven
7e8c863298 Add GeanyMainWidgets::message_window_notebook for plugins to append
a new notebook page (#3061342).



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5204 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-09-08 12:36:01 +00:00
Enrico Tröger
6afacd50b9 Make Space on the compiler and messages widgets not focus the editor widget while Enter does (patch by Can Koy, thanks).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4713 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-02-28 14:57:06 +00:00
Enrico Tröger
7ba4a81181 Update copyright information.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4518 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-01-01 22:55:18 +00:00
Enrico Tröger
6fdf1cdfb2 Add preferences for hiding single tabs from the messages window (no GUI preferences yet, still to be implemented).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4500 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-12-20 20:07:52 +00:00
Enrico Tröger
93f66de4e2 Add MessageWindow::scribble and use it instead of searching the widget pointer everytime.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4499 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-12-20 20:07:04 +00:00
Enrico Tröger
39a6eb455e Update copyright information.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3446 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-01-04 18:30:42 +00:00
Nick Treleaven
921f010ffc Rename msgwin_compiler_add -> msgwin_compiler_add_string.
Rename msgwin_msg_add -> msgwin_msg_add_string.
Rename msgwin_compiler_add_fmt -> msgwin_compiler_add.
Rename msgwin_msg_add_fmt -> msgwin_msg_add.
This fixes 2 geanyfunctions.h macros, and is more consistent with
msgwin_status_add().



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3326 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-12-05 17:30:06 +00:00
Enrico Tröger
1baa9d3159 Remove temporary navqueues_ and msgwins_ functions and adjust depending code.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/document-pointer@2689 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-12 20:45:18 +00:00
Enrico Tröger
1e8d82f46a Note: this breaks the plugin API for msgwin and navqueue functions.
Make NavQueueFuncs and MsgWinFuncs use a GeanyDocument* instead of an integer index.
Adjust plugins to work with these changes.            


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/document-pointer@2688 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-12 20:09:57 +00:00
Enrico Tröger
c151befff3 Add new function document_set_indicator_on_line() for future use.
Add some functions to the plugin API for the upcoming spell check plugin.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2581 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-14 15:46:48 +00:00
Enrico Tröger
b7bfb2743a Replace all C++-style comments with usual C-like multi-line comments.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2287 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-02-27 13:17:29 +00:00
Enrico Tröger
85f73129c0 Apply patch from Daniel Richard G. to fix to fix several compiler warnings, C89 violations and minor code problems (thanks).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2267 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-02-20 11:24:23 +00:00
Enrico Tröger
e3201062c6 Update copyright information and change format of email addresses in source files.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2150 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-01-06 18:11:57 +00:00
Nick Treleaven
6b3b7fe55a Add msgwin_switch_tab(), msgwin_clear_tab() functions.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1899 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-09-24 16:07:44 +00:00
Nick Treleaven
601fb23da4 Add foreground colouring to messages items.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1887 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-09-17 16:33:17 +00:00
Nick Treleaven
9a309114c2 Show number of matches when using Find All or Find in Files.
Add msgwin_msg_add_fmt().


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1345 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-02-28 12:08:40 +00:00
Enrico Tröger
e0e15d8ff7 Applied patch from Jeff Pohlmeyer to avoid parsing of compiler errors by the va_list system.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1217 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-01-21 18:22:14 +00:00
Enrico Tröger
7b61ad934d Updated copyright information.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1188 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-01-14 17:36:42 +00:00
Nick Treleaven
8d6ae11cbf Applied patch from Josef Whiter to parse 'Entering directory' build
messages so that subsequent error messages are handled correctly
(thanks).
Assume gcc-style error messages when filetype is not set.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1149 ea778897-0a13-0410-b9d1-a72fbfd435f5
2006-12-30 16:16:59 +00:00
Nick Treleaven
b71c227f55 Add 'Hide Message Window' popup menu item for each window in the
message window area.
Add msgwin_menu_add_common_items().
Move remaining message window setup code to msgwin_init().


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1090 ea778897-0a13-0410-b9d1-a72fbfd435f5
2006-12-13 16:41:25 +00:00
Nick Treleaven
978de6fe6f Add Next Message and Next Error menu items.
Don't select the last build message on completing a build.
Change build_get_menu_items(-1) to return current build menu.
Add Copy popup menu item for Status and Messages windows.
Move on_message_treeview_clear_activate(),
on_compiler_treeview_copy_activate() to msgwindow.c.
Create the Recent files submenu item manually because Glade 2.10
removes empty menus.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1068 ea778897-0a13-0410-b9d1-a72fbfd435f5
2006-12-08 15:50:10 +00:00
Nick Treleaven
d5004f43e4 Add some const char* argument modifiers, remove unneeded static from
some local vars.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1029 ea778897-0a13-0410-b9d1-a72fbfd435f5
2006-11-25 12:17:50 +00:00
Enrico Tröger
1aa3a761ac Moved all treeview related callback functions from callbacks.c to msgwindow.c and treeviews.c.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@945 ea778897-0a13-0410-b9d1-a72fbfd435f5
2006-10-29 13:48:39 +00:00
Nick Treleaven
5349889a00 Add G_GNUC_PRINTF checks for variable argument function prototypes.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@911 ea778897-0a13-0410-b9d1-a72fbfd435f5
2006-10-21 11:01:34 +00:00
Enrico Tröger
59335b597f Use enum values to reference different treeview widgets (code cleanup).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@904 ea778897-0a13-0410-b9d1-a72fbfd435f5
2006-10-18 20:48:54 +00:00
Nick Treleaven
078742fc5c Move build_info struct to build.c and merge with build_options.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@898 ea778897-0a13-0410-b9d1-a72fbfd435f5
2006-10-16 14:41:57 +00:00
Nick Treleaven
dedded8c37 Allow compiler and find messages to be added when the messages
window is hidden.
Add msgwin_show().


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@802 ea778897-0a13-0410-b9d1-a72fbfd435f5
2006-09-08 13:39:32 +00:00
Nick Treleaven
d3eb239d81 Show parsable errors in red; stderr and compile failure in dark red
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@800 ea778897-0a13-0410-b9d1-a72fbfd435f5
2006-09-08 10:20:15 +00:00
Nick Treleaven
7ebb187b26 Store build information instead of using app->cur_idx; Assume C-like warning messages when running make when the current file is a Makefile; Moved some msgwin setup and cleanup code to msgwindow.c; Moved utils_parse_compiler_error_line to msgwindow.c
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@714 ea778897-0a13-0410-b9d1-a72fbfd435f5
2006-08-14 15:02:52 +00:00
Nick Treleaven
35a1df7ffc Remember Find in files directory for opening grep results
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@650 ea778897-0a13-0410-b9d1-a72fbfd435f5
2006-07-29 12:06:00 +00:00
Nick Treleaven
1c8d62ed5d Added basic Find in files search functionality.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@551 ea778897-0a13-0410-b9d1-a72fbfd435f5
2006-07-13 14:30:44 +00:00
Enrico Tröger
b28e30b389 Improved "Find usage", so it displays not "null" for unsaved files in the results, and unsaved file are also clickable.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@524 ea778897-0a13-0410-b9d1-a72fbfd435f5
2006-07-02 11:32:06 +00:00
Enrico Tröger
b0205e6e99 added $Id$ - tag
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@72 ea778897-0a13-0410-b9d1-a72fbfd435f5
2005-12-20 17:50:11 +00:00
Enrico Tröger
a60d6a20bf added support for a virtual terminal emulator widget
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@22 ea778897-0a13-0410-b9d1-a72fbfd435f5
2005-11-27 20:54:28 +00:00
Enrico Tröger
8cb2cf0997 Initial import
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4 ea778897-0a13-0410-b9d1-a72fbfd435f5
2005-11-22 12:26:26 +00:00