Skip to content

Releases: pharo-spec/Spec

v0.6.0

15 May 12:31
Compare
Choose a tag to compare

New Features:

General

  • #eventHandler low level protocol added to presenters. Now you can directly listen: focusReceived, focusLost, keyUp, keyDown, mouseUp, mouseDown, mouseEnter, mouseLeave and mouseMove.
  • <meta+t> will show the context menu of presenters, if defined.
  • styles of presenters can be added and removed in runtime.
  • added #defaultKeyboardFocus to complement focus state (when I want to transmit the default focus to one of my children instead of the first one... but I do not want to rewrite the full #focusOrder)
  • To all text presenters (text area, text field, code area, etc): autoAccept property was removed, all text is by default "autoAccept" now.
    • whenSubmitDo:/whenResetDo: mapping <meta+s> and <meta+l> events were added to replace the usage of acceptBlock:, etc..
  • added a general mechanism to allow i18n.

Presenters

  • SpTextPresenter
    • add "editable" property to use when I need to show text but not modifiable.
    • adds natural width/height propagation concept (to auto-expand text areas when needed, instead following scrollbar size).
    • cursorPosition answers row@column position (adds to cursorPositionIndex which answers position from start of text).
  • SpCodePresenter
    • now can add user defined contextMenu in addition to code default menu (you can still override it completely if you want).
    • Now commands work properly (it was not the case).
    • It has a new #interactiveModel api to give the presenter an object who will handle all Pharo related stuff.
  • SpMenuItemPresenter
    • name and icon now are modifiable on runtime.
  • SpToolBarPresenter
    • added SpToolBarToggleButtonPresenter
    • added SpToolBarMenuButtonPresenter
  • SpModalWindowPresenter
    • close on backdrop click is not false by default (the regular desktop behaviour)

Layouts

  • SpBoxLayout now has alignment properties (hAlignCenter, hAlignStart, hAlignEnd, vAlignCenter, vAlignStart, vAlignEnd) that will handle how the contained presenters will be aligned in the layout.

New presenters:

  • SpPopoverPresenter, to show popovers relative to a presenter (or located elsewhere in screen).
  • SpWorldPresenter (Morphic specific) restored and working properly (this is used to make a presenter to "take over the world".

Fixes:

  • Toolbar now does not has a weird effect when hovering
  • MenuItems now display shortcut properly
  • Number presenter answers zero to value when content is empty.
  • Style now correctly calculates properties (there was a bug where nested defining properties where replacing higher level ones, instead merging them).
  • Scrolling and selection now decoupled (you can select without scrolling, which was not possible)

(And a lot more tweaks and fixes that makes this version a lot more stable)

v0.3.0

13 Mar 12:38
Compare
Choose a tag to compare

Main changes:

  • Application added #topWindow to know which windows is currently active.
  • Transmission mechanism modified to not work on arrays but direct methods.
  • Layouts are now fully dynamic: You can add/remove presenters in runtime and you can change completely a layout in runtime.
  • SpListPresenter: Added and experimental generator-based model.
  • SpNotebookPresenter: Pages can now be closeable.
  • Toolbar: Added Toggle buttons.
  • Some work on documentation.
  • Deprecated methods has been moved to Spec2-Deprecated packages and is not loaded anymore.
  • Old layout is no longer needed, and it has been moved to a deprecated package and not loaded anymore either

v0.2.1

31 Jan 21:22
Compare
Choose a tag to compare
  • add code commands
  • add system navigation commands
  • fix default sort on list/table/tree (morphic).
  • SpNotebookMorph now responds better to different scenarios (and some bug fixes too)

v0.2.0

16 Jan 10:27
Compare
Choose a tag to compare
  • Add search capabilities to tables, lists and trees
  • Make SpComponentListPresenter behave as a list (actionable, selectable, searchable)
  • SpEditableList renamed to SpEditableListPresenter (and make it work)
  • Toggle buttons now can have icons (for some reason it was not allowing them before)
  • Radio buttons now accept an initial state of "none selected"
  • SpCodePresenter now have more actions defined.
  • Dialogs now can define a "default" button (which will be executed on meta+s)
  • Trait names renamed to match code conventions (prefix is SpT and not TSp)

v0.1.0

28 Nov 13:49
6a2d61f
Compare
Choose a tag to compare
  • fixes on toolbar width assignation
  • fixes on the way shortcuts are presented (using KMShortcutPrinter)
  • make SpComponentListPresenter to work as a list (selectable, allowing multiple selection, etc.).
  • make SpComponentListPresenter allow variable height rows.
  • fixes on miller list
  • fixes on styles and allow nested styles
  • fixes a bug were windows were not removed from active windows lists
  • fixes container background overrides
  • make applications to keep active configuration
  • fix multiple selection on trees
  • add SpSearchInputFieldPresenter

Integration 10062019

06 Oct 23:48
0d6da7a
Compare
Choose a tag to compare

Changelog - Spec update 10/06/2019

Bug fixes

  • SpStyle crashes if there is a non related class named Font (592ace4)
  • Restore focus mecanism and enhance it to have a default focus order in Morphic (d43669d)

Enhancements

New features

  • Add menu button presenter (f2ef2dc)

Integration 09132019

13 Sep 14:58
ef8835a
Compare
Choose a tag to compare

Spec 2 integration of the 13 of September 2019

Features

  • Add padding management of SpBoxLayout for Morphic
  • Add demo on Box Layout (978220b)
  • Add package comments (20ffe7a)
  • Add contextMenu to Athens presenters (78aefa5)
  • Allow to add an image in the layout without declaring an image presenter (748bc59)
  • Add InputPort to SpPresenterWithModel (5f7d07c)
  • Improve demos (d2e1bf1)
  • Add possiblity to pass action to link presenter (3903717)
  • Add component list presenter (cb26690)
  • Add possibility to defer UI via Spec (da86831)
  • Introduce new API: initializePresenters and connectPresenters instead of initializeWidgets and initializePresenter (6c7ebc1)
  • Use toolbar and not toolBar (f2f807f)
  • Create builder for SpActionBarPresenter (c5f1e59)
  • TextPresenter Add a placeHolder (7b7d4b5)
  • Add the method clearContent in the class SpAbstractTextPresenter (16a842d)
  • feature/improvementsForIceberg (246c1a7)

Commander 2 integration

  • Change dependency to Commander2 so it uses v110 (5ca15b3)
  • Update commander2 version (4ac485a)
  • Change dependency to Commander2 for v120 (15945ac)
  • Migrate Spec to use Commander2 v200 (c4c5350)
  • Implement method to convert spec command as ButtonPresenter (dab0312)
  • Allows one to change the default context set on commands when their context is nil (152af5e)
  • Commander2 should provide easier way to use command group on list tree etc (d80a965)
  • Commander2 layer should set the presenter as context of commands when not done (d0f2889)

Bugfixes

  • Replace Smalltalk references (c1cc561)
  • Fix grid layout tests (85719bc)
  • SpAbstractPresenter should be abstract (de681a0)
  • Migrate more layouts to executable layouts (cee71ae)
  • Use theme instead of hardcoded color in Modal adapter (be583d8)
  • TextPresenter placeholder does not work in Pharo 7 (6bbdc7b)
  • Instance of TreeTablePresenter did not understand activatesOnDoubleClick (9cda46c)
  • Fixing SpCodePresenter in pharo8 (fc5b7e8)
  • Some table columns are editable (c630a0e)
  • Fixing Baseline (3f3ac6d)

Cleanings

  • Migrate initializeWidgets and initializePresenter to new API (dd74217)
  • Clean package structure (a0706ba)
  • Remove dependency between Spec2 Commands and Commander (56ae6d4)
  • Commander2 v2 migration (0d029c0)
  • Remove all commented pragmas (ed6e844)
  • cleanup (05839d7)
  • Deprecate asSpAdapter (cb5f47c)
  • Move spec related methods on class side of CmCommand and CmCommandGroup to spec integration package (f95eca0)
  • Remove ComposablePresenter references (ef8c984)
  • Unnecessary initialize method in SpMorphPresenter (4b6828b)
  • SpExecutableLayoutresolvePresentermodelbindings should be SpExecutableLayoutresolvePresenterpresenterbindings (caa37db)
  • Fix calls to canBeRun and replace them with canBeExecuted (822db0c)
  • PolyWidget SpChooseMethod improvement (fe964f9)
  • Comment of SpPresenter mentions ComposablePresenter (d46e348)
  • Rename SpTestingComposerWithModel into SpTestingPresenterWithModel (092e6c4)

Infrastructure

Integration 07082019

08 Jul 14:06
Compare
Choose a tag to compare

New features

  • Add a widget to select a Method (ed1e7be)

Bug fixes

  • ModalWindowPresenter Does not allow to expand dropList (b768ad2)

Cleaning

  • Do a pass on the API to improve its coherency
  • Use the direction strategy instead of performs in paned layout (73dc7c1)
  • SpObservableSlot should not depend on ValueHolder (944734e)
  • Migrate new value holders to observable slot step 2 (e792b87)
  • Adapters bindings default fonts methods are not used (b77f753)
  • Deprecate SearchableList in favor of list filtering (c5543d7)
  • Migrate more layouts to executable layouts (2beb04a)
  • Reduce references to theme singleton (b6f8de2)
  • addAllwithSpec is dead code (235ab64)
  • Clean EyeInspector (6e60302)
  • Remove deprecated examples (3b1ea77)

Infrastructure

  • Skip failing tests for now (bb194b4)
  • Harvest changes from Pharo (61e8b9f)

Version 2.0.0

26 Feb 12:44
Compare
Choose a tag to compare

Features

  • Add #addSpacer to SpecLayout (298eb26)
  • Add labelled presenter (bf76234)
  • Do not force users to have getters for their presenters (f24bd7f)
  • Now presenters have a special icon in Calypso (5c47a63)
  • Add ComposablePresenter>>#iconNamed: (d8ce2e2)
  • Layouts now understand presenter instead of model (7a78375)
  • It is now possible to add menus, status bar and menu bars to window presenters (ee0acf6)
  • Add NumberPresenter with its Morphic adapter (88792da)
  • Refactor dialog presenter to be more flexible (e835558)
  • New presenter: URL prensenter (49f941f)
  • Introduction of real modals: Those modals will stop the workflow of the user to force the interaction. Like everymodal everywhere else. (27289a8)
  • New presenter: NotebookPresenter (cdaf8a1)

Bug fixes

  • #additionalKeybindings is not a value holder (547d5f0)
  • Entire review of List selection (with tests)
  • Adding tests for basic presenters and adapters (Button, Checkbox, Label, TextInput)

Cleanups

  • Rename composable presenter (f29cf68)
  • Remove WindowPresenter title variable (6a311e1)
  • Cut cyclic dependencies between Layouts and Core (4953967)
  • Remove deadcode (50b2a8c)
  • Move all tests to tests packages (bae8f4c)
  • Better about title managment (9d91152)
  • Clean the interpreter (a509654 and 6587836)
  • Clean tests (073ed26)
  • Remove SpecLayout>>selector (7e1d283)
  • Ensure presenter are not directly linked to MorphcAdapters (bc63f1c)
  • Deprecate instantiateModels: for instantiatePresenters: (8bd78cc)
  • Layouts now stores objects instead of arrays (2b35bc4)
  • Remove Spec table layout since Spec layout has the same behavior (103a827)
  • Remove references to Smalltalk ui theme (b37dd2a)
  • Remove Object>>isSpecAdaptor (1664920)
  • Rename #ghostText into #placeholder (639e7e5)
  • Clean windows/dialogs opening mechanism (39ce96a)

Infrastructure

  • Enable TravisCI (8208767)
  • Add dependencies between packages (b655505)
  • Make Spec loadable in non interactive mode (0411400)
  • Register Spec demo in the Help menu (d36d2ed)
  • Add source code in Tonel format to demos (648a681)