Age | Commit message (Collapse) | Author |
|
|
|
Fixes, for example, unsetting the cursor when changing from the bounding
box tool.
|
|
Calling -[WidgetSurface setCursor:] when the underlying GtkWidget has
not been realised yet used to result in a warning that the GdkWindow did
not exist. As a result, the cursor would not actually be set.
To deal with this, if the widget has not been realised, we delay setting
the cursor until it is.
|
|
If you've carefully hand-positioned various nodes on a diagram relative
to each other, and then want to move the whole thing around, you
generally don't want to change their position relative to each other.
So we only snap the node being dragged to the grid. Everything else in
the selection maintains its position relative to that node.
|
|
It turns out the selection box, rather than being properly set to the
zero rectangle, was being set to the value of an uninitialised NSRect
created on the stack. This never caused any issues for me before,
because my system compiles things with _FORTIFY_SOURCE by default, which
zeros new variables. It was only when I (indirectly) disabled this for
debugging in gdb that I started getting selection boxes appearing in odd
places.
|
|
|
|
The editable preambles include a bunch of things that *have* to be there
for previews to work, which makes figuring out what you can edit hard.
We now add a \documentclass automagically if it is missing, and if
\begin{document} is missing, we assume the preview-specific stuff should
be added.
OSX changes are untested.
|
|
It turns out that the [NSString stringWithContentsOfFile:] family of
methods do not have a way of reporting why a file could not be read;
[NSString stringWithContentsOfFile:usedEncoding:error:] will only set
the error object if there was a problem with decoding.
So, we cook our own variant that tries to figure out why opening the
file failed.
User-visible effect: in the GTK+ port, if you try to open a file from
the "open recent" menu that no longer exists, you will get a more
helpful error message.
|
|
We can't always guarantee that library code will produce an error object
when things fail; default to "unknown error" if the error object is null
or does not have a message.
|
|
If the user presses the LMB whilst holding ctrl, we bypass the tool and
enter panning mode, where dragging the mouse moves around the graph,
until the LMB is released.
|
|
|
|
"Preferences" suggests it's about non-essential behavioural or visual
changes, but you need to configure TikZiT to use it properly (especially
adding node and edge styles).
Also, fix the title of the configuration window not to say "premable
editor".
|
|
Each document window has its own preview window, allowing multiple ones
to be open at once.
|
|
On X, window managers don't like WM_TRANSIENT_FOR being altered while a
window is visible; this meant that if you opened TikZiT and opened a
second main window and minimised the main window that had focus, the
toolbox and properties window would both disappear, with no way to get
them back (well, almost - the properties window could be retreived with
the menu item that shows/hides it).
Tested with KWin, Metacity (Gnome 2's WM), Mutter (Gnome 3) and xfwm4
(XFCE 4). Metacity and Mutter still behave a little oddly - you have to
click one of the main windows *twice* to get it to focus. KWin and
xfwm4 work fine.
|
|
Includes functions for testing if an anchor is valid.
|
|
Memory usage on Linux no longer shoots up after running the tikz parser
a handful of times.
|
|
|
|
|
|
|
|
These are just convenience wrappers for TikzGraphAssembler. As a
result, non of the GTK code uses TikzGraphAssembler directly.
|
|
|
|
|
|
No more locking! Also, the interface for TikzGraphAssembler is much
simpler.
Changes to OSX code are completely untested.
|
|
Selecting edges and/or nodes and pressing shift-d will print info about
them to the console.
|
|
|
|
|
|
Generally, the first thing you want to do after creating a node or edge
style is to change its name from "newstyle".
|
|
Now when the graph has focus, shift+n will choose node selection,
shift+e edge selection and shift+b both.
|
|
Fixes rendering of newly-drawn edges in GTK+ version.
|
|
This reverts commit 0766b825aecf072ce4586d6b447bb782f2adb56b.
This appears to be just be a quirk of theme I was using at the time.
|
|
For some reason, GtkTreeView gets nice borders as standard, but
GtkIconView does not.
|
|
Otherwise it breaks the layout.
|
|
Mostly "@interface definition not found" warnings.
|
|
Fixes issue #9
|
|
The free-form entry fields (graph element properties and node labels)
are a potential source of invalid tikz code. Since we quote any
dodgy-looking text with { and }, we just need to make sure there are no
unmatched curly braces entered in those fields.
This will turn the entry widgets red when there are unmatched braces,
and refuse to make use of any such values.
|
|
|
|
|
|
If the user clicks Cancel, nothing changes.
|
|
|
|
|
|
This allows the window manager to raise the windows as a group, for
example.
|
|
|
|
Brings back some old functionality, but in a more compact way.
|
|
PropertiesWindow is now ContextWindow.
Preparing for putting more stuff in this window.
|
|
A window's document can change when opening a document from a window
that is has no backing file and no changes. The properties window was
not getting updated propertly when this happened (it still referred to
the old document). Now it is updated properly.
|
|
|
|
|
|
The toolbox width is forced to always be a multiple of the width of one
of the tool buttons.
|
|
Code largely stolen from the GIMP.
|
|
Previously, if a window was closed and then the clipboard changed,
update_paste_action would still be called with a now-invalid paste
action.
|