Panes and UI
The Component, Record, Select, Style, Transform panes are taken out of the Contents pane and can be shown and hidden individually. The Contents pane is removed. Panes that provide previews cooperate between themselves so that a component window only shows the last submitted preview. (Example: If you open a table window and start using the Select pane, the window will show the preview for that pane. If you then switch to the Transform pane while the Select pane is still on screen, the window will start showing the preview for the Transform pane. If you switch back to the Select pane and change the template or alter a parameter, the window will switch back to showing the preview for the Select pane again. We are currently reworking the previews, they will function a little differently than they do now.)
The View - Pane - Xxx commands for panes are reworked to always show and activate panes, never hide them. Each command has a shortcut, with Ctrl-1 assigned to the Project pane and Ctrl-2-...-7 assigned to all other panes. To hide a pane, use the close button in the tab strip.
(Fix) Closing an inactive floating component window no longer sometimes changes the active component window.
Pressing Escape in a map window clears the picked record shown in the Record pane if there are no uncommitted changes.
Pressing Escape in a layout window only clears the picked frame shown in the Record pane if there are no uncommitted changes. (Previously, pressing Escape was clearing the picked frame even if there were uncommitted changes, we made the behavior safer and the same as in the map window.)
Editing a frame in a layout window allows committing or canceling changes using the Save Changes / Undo Changes commands in the context menu.
(Fix) A repeat click on an opacity value for the current layer in the Layers pane starts editing the value. (Previously, one had to click the layer name or press F2 to start editing the value, clicking the value itself did not work.)
(Fix) Alt-clicking the name of the current layer in the Layers pane no longer starts editing the opacity value and instead activates the layer.
Alt-clicking the header for a layer in the Layers pane activates the layer.
Shift-clicking or Ctrl-clicking the header for a record in a table window selects the record without entering or leaving the edit mode.
The New Script dialog shows the type of each script engine: '(COM)', '(.NET)', '(V8)'.
Right-clicking a tab for a component window or a pane and right-clicking the caption for a floating component window or pane shows the context menu with the dock commands. Component windows support the following commands: Dock / Dock Down / Dock Up / Undock / Close. Panes support all these commands plus Dock Left / Dock Right, which move the pane between left and right sides. (We will also allow rearranging component windows and panes using drag and drop.)
The default pane layout is changed to use both left and right sides, with Project + Layers panes shown on the left and Component + Record + Select + Style + Transform panes shown on the right. The dock state of all panes is saved between sessions. (The default layout is not final, but tell us what you think of using both left and right sides out of the box. If you liked the previous layout better, you can easily switch back to it by moving all panes from the left side to the right and the system will obey.)
The main application window cannot be resized smaller than a certain reasonable size.
Floating component windows and floating panes cannot be resized smaller than a certain reasonable size.
Floating component windows and floating panes can snap to each other. (Previously, floating component windows could only snap to other floating component windows, and floating panes could only snap to other floating panes.)
Floating component windows and floating panes no longer show the close button in the right corner. To close the window or pane, right-click the caption to show the context menu and use the Close command. An active floating component window can also be closed using the Close command in the Window menu (Ctrl-F4).
(Fix) Middle-clicking or right-clicking the caption of a floating component window no longer fails to make the component window active.
(Fix) Resizing the Select and Transform panes no longer sometimes produces visual artifacts near the bottom.
(Fix) The Merge Images dialog computes shifts for the target image using shifts in the selected projection as a base. (Previously, the dialog was using 0 as a base.)
The Merge Images dialog fails when none of the source images can convert to the projection of the target image. (Previously, in that case the dialog was creating a 0x0 image.)
Functions and Templates
There is a new DateTimeMake query function + Compose Date transform that compose a date from year, month and day. There is a new DateTimeMakeFull query functions that composes a date from year, month, day, hour, minute, second and millisecond.
There is a new DateTimeClearTime query function + Clear Time transform to clear the time part of a date.
There is a new DateTimeYearLeap query function + Date Year Leap transform that determine whether the year of a date is a leap year.
There is a new DateTimeYearDay query function + Date Year Day transform that return the number of day for a date from the start of the year, with January 1 being day #1.
There is a new DateTimeWeek query function + Date Week transform that return the sequential number of the week for a date from the start of the year, with the week containing January being week #1. There is a parameter to specify the start day for weeks: 0 means that weeks start on Sunday, 1 on Monday, etc.
There is a new DateTimeWeekDay query function + Date Week Day transform tnat return the number of day for a date from the start of the week. There is a parameter to specify the start day for weeks, as above.
There is a new DateTimeAddDays query function + Date Shift transform that shift a date by the specified number of days. The number of days can be positive, to shift to later dates, or negative, to shift to earlier dates. The number of days can also have a fractional part, to shift by hours or minutes, etc.
There is a new DateTimeDifferenceDays query function + Date Difference transform that find the difference between two dates in days. The returned difference can be positive or negative, and can have a fractional part.
There are new StringUrlScheme / Host / Port / User / Password / Path / Extra query functions + URL Scheme / Host / Port / User / Password / Path / Extra transforms that parse a string as an URL and extract various parsed parts.
There is a new StringUrlMake query function + Compose URL transform that compose an URL from parts.
There is a new StringUrlAppend query function + Append URL transform that append a relative URL to an absolute URL.
End of list.
Next in the plans are improvements for most of the existing panes plus a new specialized pane for registration.