Skip to content

Releases: gcanyon/navigator

Size/Location Editor Alignment and Conformity update

30 Jan 08:32
Compare
Choose a tag to compare

DataGrid Update

27 Jan 09:26
Compare
Choose a tag to compare

Fixes:
#27
#26
#24

Updates:
#19

Relayering Fix

25 Jan 06:41
Compare
Choose a tag to compare

Reworked relayering again. Third^2 time's the charm? Should fix:

#25
#22
#16

v6.6

16 Oct 21:48
Compare
Choose a tag to compare

Navigator 6.6rc1 Release Notes

This is a major update to how commands work in Navigator, and continues to update how Navigator handles what container to target.

NEW FEATURES

COMMAND BARS

Navigator now supports from 0-6 (configurable in preferences) Command Bars. These are similar in appearance to the Group Fold Bar, but on the right side of Navigator. Each bar can have a command associated with it, and clicking a selected control in the bar will apply that command to the currently selected controls. Click an unselected control in the Command Bar to select the control you click and apply the command to that one control.

This is intended as a more obvious way to apply different commands to a set of controls than the previous option/command/shift click options in the main list. Those options are still available and configurable in the preferences. That section of the preferences now includes the setting for how many command bars to display as well. There are no custom key combinations available for the command bars, except for control-clicking a command bar to select what command it should apply.

Each command bar has a tooltip that displays what command it will apply. To change the command, control-click or right-click the command bar. This displays a menu of the built-in commands, followed by any custom commands included in your Navigator Commands folder. The current command will have a checkmark; select any other command to change to that command. These settings are universal across all open copies of Navigator.

To define a new command, select New Command... at the top of the menu. That will open Navigator's Command Panel, where you can enter a new command. The command panel has a Save button. Once you save your command and give it a name, it will be set for that command panel -- and available as a custom command in general.

LIST CUSTOM COMMANDS NOW ALL USE THE COMMAND PANEL

In Preferences, list custom commands can now be defined using the Command Panel instead of just an Ask dialog, and have access to the pre-defined variables of the Command Panel -- tID for the current control, tCount for the number of controls selected, tIndex for the index of the current control in the list, etc. See the included Index Names.txt and Report Average Loc.txt for examples of how this can be used.

COMMAND PANEL CHANGES

The command panel has been updated. It now includes a tab for changing between commands and setting properties. It likely needs explaining that when setting properties, all that is needed is something like the following:

left=47
right = 89
visible= false

to set those three properties to the associated values for the selected controls. This can't be used as a custom command. The command panel now reflects this fact, hiding the "Save" button when showing the properties panel.

EDITING CUSTOM COMMANDS

There is no functionality for editing or removing custom commands. However, they are just text files in the Navigator Commands folder, so you can delete those files or edit them however you like.

STACK MENU BECOMES "WHICH TARGET" MENU -- INCLUDES RECENT TARGETS

The Stack menu is now the Target menu. The icon reflects the crosshair used for targeting a stack visually. Simply clicking the crosshair goes immediately to the mouseStack functionality. A slow click, or click-and-hold, displays the Stack menu as usual.

The recent targets have moved to the Stack menu. I upped the limit to 9, and internally I'm storing 99 -- let me know if there is any need/use case for this.

Recent targets are now universal across all copies of Navigator.

The Show IDE Stacks and Show Script-Only Stacks options should now stick from one launch of Navigator to the next -- but they're not preferences, so installing a new copy of Navigator will default them back to off.

OBSCURE, BUT NAVIGATOR HAS BETTER DEBUG FUNCTIONALITY

Navigator is a bear to debug. Over the years I can't count how many times I've typed:

put "got here"

to learn where my code is dying. That's a pain to find and disable when shipping Navigator, and more than once I've gotten a friendly note from someone saying that Navigator is triggering the message box. So I created a simple Debug command within Navigator. Here it is:

local sDebugLastCall
on debug
-- exit debug
if sDebugLastCall is empty or ticks() - sDebugLastCall > 120 then put empty
put ticks() into sDebugLastCall
put line -2 of the executionContexts into LC
put ticks() & cr & the long name of (item 1 of LC) & cr & item 2 to -1 of LC & cr & cr into R
repeat with i = 1 to paramCount()
put i & ":" && param(i) & cr & cr after R
end repeat
put R after message
end debug

Obviously, "debug" is easier to find and remove in scripts than an unterminated "put", but note that first line "-- exit debug"; as long as I uncomment that line, even if I miss a call to "debug", nothing will happen.

OBSCURE, BUT NAVIGATOR NOW HAS BUILT-IN IDE DEBUGGING CAPABILITY

Hold the option key while opening Navigator's Action menu and an option will be added at the bottom of the menu to debug Navigator/the IDE. When checked, breakpoints will work in IDE/Navigator stacks. Almost more importantly, unchecking it disables strict compilation.

A BUNCH OF SMALL BUG FIXES THAT I OUGHT TO DOCUMENT BETTER...

Yeah, sorry I don't have a list.

OUTSTANDING BUG

For several versions now Navigator's Drag and Drop has failed at dragging out of Navigator and into some stacks. I haven't figured out why I'm getting a mouseRelease message when I shouldn't, so I may have to re-write Navigator's drag and drop -- again :-/

v6.5

05 Oct 03:50
Compare
Choose a tag to compare

This is a major update to how Navigator handles what container to target. It also changes how Navigator handles list display, and several other things. Notes below.

=== NEW FEATURES ===

RECENT TARGETS
The Card menu now stores the last 7 containers you've displayed in Navigator. So for me, this makes for super-fast switching between Navigator itself and test stacks I'm experimenting with. Let me know what you think about how many items to display here.

Underlying the above (and the card menu fix below), the method for determining what to display has changed significantly (but not completely, still a work in progress). This means that a few of the more obscure features of Navigator have gone away as of this update. Specifically, it used to be possible to browse "card " or "card id " of the topstack -- meaning that if you switched between stacks that happened to have cards with identical names/ids, Navigator would happily switch with you. Now, when displaying a specific card or group, the stack reference is part of that identification, so switching to a different stack in LiveCode doesn't change anything. Meaning: the only display in Navigator that follows what you do in LiveCode is the "This Card" of "The topStack" display.

CARD/BACKGROUND MENU SMARTER
The Card menu and Background menu are now duplicate-name-safe. It's a small thing, but it used to be the case that the menus browsed based on the literal text in the menu, so if you had two cards with identical names, there was no way to browse the second card using the menu. (you could still do it by displaying the card list and then right-clicking either card in the list and selecting Browse Controls on the popup) The menu items will still have identical names, but selecting the second (or third...) item will correctly browse that card or group.

SAVE ALL PROGRESS DISPLAY
The "Save All" command for a stack, which was terribly broken by any missing stack references until the last version, now quickly displays all the files it's saving in Navigator's title bar, and then for 1 second it says how many files it saved, before reverting to the normal Navigator title display.

CHANGED NAVIGATOR'S LIST FIELD TO FIXEDLINEHEIGHT
This was a long-standing source of frustration: the showLines property, combined with fixedLineHeight, results in the text being displayed high in the lines (or the lines being displayed low, take your pick). This has been the case since as long as I can remember. Hence Navigator has struggled along with fixedLineHeight set to false for years (even though all the lines are the same height), and this caused all sorts of issues. This time around I changed that. This might (it doesn't for me, but fonts are weird) cause issues with text display in Navigator's list. If it does, let me know. The control for folding groups also changed, so if you see any anomalies there definitely let me know.

FIXED NAVIGATOR COMMAND SAVING
(and file IO in general). It is now possible to save Commands, and then use them later. One command that I use all the time when working on drag and drop, or in general:

if tIndex = 1 then
ask "Base Name:"
if the result is not empty then exit to top
put it into tName
end if
set the name of tID to tName && tIndex

This lets you specify a text component, and then names all the selected controls with an index -- give it "test" and the controls will be named test 1, test 2, test 3, etc.

NEW NAVIGATOR DOCUMENTATION
I've started new Navigator documentation at https://gcanyon.wixsite.com/navigator It's not complete by any stretch, but what it does document is up to date. The original documentation is still available at https://gcanyon.wordpress.com/navigator-documentation/

FONT POPUP IN THE PROPERTY EDITOR
What it says on the tin -- like other enumerated properties, if you click on the font name in the textFont property in Navigator's Property Editor, instead of editing the text, a menu will pop up with all available fontNames.

RENAMING CONTROLS IN THE PROPERTY EDITOR FIXED
Because of the name/short name weirdness, it used to be that if you edited the name of button "bob" you would literally get -- button "bob" -- to edit, and if you didn't change it to just -- bob -- the name would be set accordingly. This is, as far as I know, the only instance where you can:

set the name of button "bob" to the name of button "bob"

And change the value. And for the record, no, you can't set the short name of anything. So I finally broke down and special-cased the name, so despite being called name, it displays the short name, and then sets the name to whatever you enter.

A BUNCH OF SMALL BUG FIXES THAT I OUGHT TO DOCUMENT BETTER...
Yeah, sorry I don't have a list.