Git Product home page Git Product logo

mooseide's Introduction

MooseIDE

Coverage Status Run tests

New Tools for Moose

Installation

From the Pharo Launcher

  1. New (image)
  2. Official distributions
  3. Moose Suite 9.0 (development)
  4. (optionally change Image name:)
  5. Create image

Screen capture of Pharo Launcher to make MooseIDE image

From a Pharo 10 Image

Metacello new
  baseline: 'MooseIDE';
  repository: 'github://moosetechnology/MooseIDE:development/src';
  load

From a Pharo 9 Image

Metacello new
  baseline: 'MooseIDE';
  repository: 'github://moosetechnology/MooseIDE:v2.x.x/src';
  load

mooseide's People

Contributors

akevalion avatar alesshosry avatar anneetien avatar badetitou avatar bennecerzaki avatar cafekrem avatar clotildetoullec avatar croshiw avatar fabiovandewaeter avatar fuhrmanator avatar gabriel-darbord avatar ikiade avatar isayarlu avatar jecisc avatar jordanmontt avatar labsari avatar lsafina avatar mahugnon avatar nicolasanquetil avatar nkinesis avatar romaindeg avatar sbragagnolo avatar thomaswattebled avatar unouss avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mooseide's Issues

MiDependencyBrowserModel display action does not accept MooseModels

MiDependencyBrowserModel>>followAction
	(self accept: toSelect) ifFalse: [ ^ self ].
	(toSelect isOfType: MooseGroup)
		ifTrue: [ self model entities: toSelect ]
		ifFalse: [ self model entities: {toSelect} ].
[...]

in MiDependencyBrowserModel>>accept: we check that the selection is a collection, but later in followAction we check for a MooseGroup

MooseModels are MooseAbstractGroups so they are treated as a single entity :-(

Reorganize classes in Midas package tags

Several tags contain only one class (Command, FameBrowser, Icons, ...),

and some tags are plain wrong, for example 'Tests' for AbstractBrowserMode and subclasses

QueryBrowser: add a ManualSelectQuery

From the addNewQuery option would propose a list of current result, allow to select some and apply

From resultOfCurrentQueryPane, selection of entities + a right-click should allow to create the same query

Midas behavior model correction ?

Currently, when select something in a browser, the application is notified:
self application globallySelected: <selection>
The application logs this:
self logger globallySelect: <selection>
The logger records the entity-ies
MiSelectedEntityLog new AND "activates" it, which propagates the selection to all browsers.

I believe the activation should be done by the application itself

Importing MSE

PB: Currently, when importing mse, MoosePanel try to search entities read in the mse file in a default mooseModel. As each famixMetaModel has its own model now, the importing fell because entities are not found.
S: MooseModel should allow the user to choose one of the existing models in the image

MiModelRootBrowser fails to start first time

... because there is no last select entity (no models, logger empty, ...)

MiAbstractBrowser class >> #runMe
	<script>
	self new
		openWithSpec;
		"open with the last select entity"
		selectEntity: MiApplication current logger logs last entity

QueryBrowser: add a "rebase" (or "reRoot") button

it would take the resultOfCurrentQuery and reset the "root" of the QueryBrowser with this result.
Kind-a opening a new QueryBrowser on the current result (but in the same browser)
Should probably force a "propagate" to the whole Midas

Rename MooseRootBrowser and/or MooseModelBrowser

the two names are too similar and it's hard to guess what they do.

MooseModelBrowser should allow to browse Models, i.e. what MooseRootBrowser currently does

and the current MooseModelBrowser could may be merged with the Properties browser ?
(other issue)
For now, I propose to rename it ModelContent browser

QueryBrowser, resultOfCurrentQuery pane is not ordered

clicking repeatedly on the (initial) "Model" query changes the content of this pane, actually the order of the "entities" listed.
This is unsettling

Note: ALWAYS order displayed lists. The actual order may not matter but make sure there is one

Merge MooseModel browser and MooseProperty browser ?

Talking of the MooseModel browser at the time of this writing (see issue #39)

MooseModel browser and MooseProperties browser seem like two instances of a Moose "inspector" that show the details (properties,relationships) of the current entity.

Couldn't they be merged?
A bit like a pane of the MoosePanel, except that I would put two panes (vertical layout) for properties and relationships

Highlight and Follow buttons should be possible to disable

Browsers should be able to say that they cannot do Highlight and/or Follow
In this case, the respective radio buttons would be disabled

Proposed API in MiAbstractBrowser:
cannotFollow / canFollow / cannotHighlight / canHighlight

same goes for Propagate ?

Midas model/presenter framework needs to be reviewed ?

in MiModelRootBrowser>>initializePresenters we have:

initializePresenters
[...]
	modelPresenter
		whenSelectionChangedDo: [ :selected | 
			model selected: selected selectedItem.
			self application globallySelect: selected selectedItem ]

I believe the second instruction (self application ...) should be in the model, not the SpecPresenter.
But this means accessing the application from the model which kind of implies all models of all MiBrowsers should have it, whereas Spec places it in the presenter (this is an instance variable of SpPresenter).

Having application in the model also suggests we need an abstract class of models to generalize this.

What's the purpose of the 'propagate' button ?

The default behavior was initially intended that any selection in any browser automatically propagates to all opened browsers. This is a bit similar to MoosePanel where any selection automatically opens a new pane (propagation)

This can be fine-tuned by 'frozing' browsers to ignore this propagation

One could imagine not wanting to always propagate all actions, but then 'propagate' should be a checkbox ...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.