Issue 492 in moose-technology: Glamour browsers do not release all subscriptions to announcer objects
by moose-technology@googlecode.com
Status: New
Owner: tudor.gi...(a)gmail.com
Labels: Type-Defect Priority-High Component-Glamour Milestone-4.3
New issue 492 by tudor.gi...(a)gmail.com: Glamour browsers do not release all
subscriptions to announcer objects
http://code.google.com/p/moose-technology/issues/detail?id=492
I noticed that in some complex updating between panels, using an external
announcer, some of the update subscriptions were not removed when the
browser is closed. I debugged a little and I founded that this
implementation:
GLMUpdateAction>>unregisterFromAllAnnouncements
announcerObjects ifNotNil: [
announcerObjects do: [:each |
each unsubscribe: self ] ]
is bugged, because if announcerObjects are not previously computed (and in
some cases that's what happens), the subscription is not removed.
This implementation (just using the accessor instead the direct object),
solves the problem (but I don't know is it's a right fix, and it should be
a fix in other place)
GLMUpdateAction>>unregisterFromAllAnnouncements
self announcerObjects ifNotNil: [ :objects |
objects do: [:each |
each unsubscribe: self ] ]
Cheers,
Esteban
12 years, 4 months
Moose for SAS
by Ross Boylan
Some people suggested trying moose for analysis of SAS programs, and I'm
trying to figure out where to start with the meta-modeling.
SAS is not object oriented, though parts of it could be imagined to be.
The main SAS code contains blocks of statements that begin with DATA or
PROC; each block could probably be thought of as a function--to be
precise, the application of a function.
If I want to make some new models, where do I start? FM3? FAMIX?
elsewhere? The 4.0 release announcement says FM3 and FAMIX3 are both
implemented in Fame, so maybe start with Fame? I've read some
documentation, but I can't tell.
My inspiration for the project is understanding how some SAS datasets
were produced. I have a system that creates numerous datasets, which
feed into later datasets, etc. This is split at least across a couple
of program files and it's really too complicated to keep in the brain.
If I get ambitious it would also be useful to trace where particular
variables came from, in the sense of both datasets and individual
expressions.
The only thing resembling a SAS parser I've run into (except for SAS,
which is closed source) is a Perl module, and it looked relatively
primitive. I've been using PetitParser, and at the point I started
thinking about what it would parse results into.
Thanks for any pointers.
Ross Boylan
12 years, 6 months
Petit SQL Parser
by Fabrizio Perin
Hi all,
i did implement an SQL parser using Petit Parser. I toke the grammar specification from SQLite http://www.sqlite.org/lang.html . The grammar implemented is not complete, for now i did implement "just" the create table statement, it means that you should be able to parse at least a script for create the database.
The code is in squeaksource http://www.squeaksource.com/@09zbthA-fDDfyUNQ/_OIex3aA .
To download it you can evaluate this:
Gofer new
squeaksource: 'PetitSQLParser';
package: 'ConfigurationOfPetitSQLParser';
load.
(Smalltalk at: #ConfigurationOfPetitSQLParser) perform: #loadDefault
in the repository there are several packages: the core contains the parser for the grammar.
In the package parser there is a parser that instantiate some draft objects representing relational elements.
In the next future i will start to implement also other statements.
If you start to use it and you have some problem please let me know.
Cheers,
Fabrizio
12 years, 7 months
Issue 510 in moose-technology: Introduce Port>>transientValue:
by moose-technology@googlecode.com
Status: New
Owner: ----
Labels: Type-Enhancement Priority-Medium Component-Glamour
New issue 510 by tudor.gi...(a)gmail.com: Introduce Port>>transientValue:
http://code.google.com/p/moose-technology/issues/detail?id=510
We should be able to set the value of a port only temporarily. This would
be useful for triggering other transmissions. For example, to implement a
search like behavior we could use the code from below. The problem is that
if you press the search icon once, then change the selection manually, and
then press the button again, the selection will not change because the
#focusOne port did not change the value.
|browser |
browser := GLMTabulator new.
browser act: [:b | (b pane port: #focusOne) value: 3 ] icon: MooseIcons
mooseSearch entitled: 'Search'.
browser column: #one; column: #two.
browser transmit to: #one; andShow: [ :a |
a tree
display: [:x | 1 to: x]].
browser transmit to: #two; from: #one; andShow: [ :a |
a tree
display: [:x | 1 to: x*2]].
browser transmit to: #one port: #selection; fromOutsidePort: #focusOne.
browser openOn: 3
12 years, 7 months
Issue 540 in moose-technology: Glamour: removing dependency in configuration - core group
by moose-technology@googlecode.com
Status: New
Owner: ----
Labels: Type-Defect Priority-Medium
New issue 540 by vuqui...(a)vub.ac.be: Glamour: removing dependency in
configuration - core group
http://code.google.com/p/moose-technology/issues/detail?id=540
In the configuration of Glamour, the core group was loading only Glamour
packages, and the extras group: mondrian and magritte presentations. This
allowed to load those presentations if needed.
Currently, the core group is also depending on Mondrian. The method
MOViewRenderer>>openWithStatusbar is causing this dependency in the package
Glamour-Scripting.
Can this dependency be removed from the group core?
* Type-Enhancement
* Component-Glamour
12 years, 8 months