Releases: pharo-spec/Spec
Releases · pharo-spec/Spec
v0.6.0
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
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
v0.2.0
- Add search capabilities to tables, lists and trees
- Make
SpComponentListPresenter
behave as a list (actionable, selectable, searchable) SpEditableList
renamed toSpEditableListPresenter
(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 notTSp
)
v0.1.0
- 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
Integration 09132019
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
andconnectPresenters
instead ofinitializeWidgets
andinitializePresenter
(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
andinitializePresenter
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
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
Version 2.0.0
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 ofmodel
(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)