Releases: pharo-spec/Spec
Releases · pharo-spec/Spec
v0.7.1
Bugfixes
- tree table presenter: it was not reacting to "activate on single click"
- dialogs: ensure open a dialog centered on topWindow works even when there is no "topWindow" defined.
- code presenter: fix interaction models (they were a mess and with some misunderstood concepts).
- code presenter: fix accept/cancel commands (that will appear if there are submit/reset events defined).
- "dynamic" package was broken and it does not has sense now: moved all broken stuff into a single package (Spec-Dynamic) that will not be loaded (and probably needs to be removed)
v0.7.0
General
- add comments to Transmission, Style and Application
- added a hook to rebuild layouts
- style: do not calculate font each time there is a call to it.
- refactor on SpCodePresenter: instead a matrix to complete (doItContext, doItReceiver, etc.) now there is a hierarchy of "InteractionModels"the user can extend and use.
- #iconNamed: moved to SpApplication.
- Text: create the concept of
userActionDuring:
to avoid multiple actualisations when changing selection, text, etc. all at once. - Remove tests for Pharo 8 since it is not supported anymore.
- Window: add vocabulary: isMinimized/isMaximized
- ToolBar was renamed as Toolbar.
- Lots of cleanups on dependencies to be able to split Spec2 from Morphic.
Bugfixes
- fix a problem in popover which was not abswering correct "lines"to print.
- sometimes we ask to center a widnow to its parent, but there is no parent. In that cases, center to world.
- fix problems in the Style merge algorithm\
- List: fixed problems with selection and sorting.
- Application was leaking windows. Not anymore.
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)