Pharo-users
By thread
pharo-users@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
May 2016
- 84 participants
- 472 messages
Re: [Pharo-users] Get a String during the execution
by Julien Delplanque
Hello Valentin,
You should check the World>>#openModal: message.
I think this is what you are looking for. :-)
Regards,
Julien
On 18/05/16 14:08, Valentin Ryckewaert wrote:
> Hi !
>
> I'm trying to make a method able to ask the user to write something which
> will be used in the method.
> During my method execution, a pop up appear on the screen, the user write
> anything 'test' for exemple, and then the method continue using this string.
>
> The code looks like this:
> MyClass>>dostuff
> mypopup := MyPopup new.
> mypopup openDialogWithSpec.
> mypopup window okAction: [ date := mapop input text. dostuff with the
> variable date ]."
>
> And then I execute this method:
> MyClass new dostuff.
> SessionManager default snapshot: false andQuit: true (To close Pharo)
>
> The problem is that the method dostuff wait the proc of the popup to make
> what is in the bloc but continue execution and close Pharo.
> I would like to be able to stop execution of the code just after mypopup
> window okAction and to reactivate it in the bloc executed when it's proc.
> Is it possible?
>
> Valentin
>
May 18, 2016
Re: [Pharo-users] Spec layout
by Marion Noirbent
Ok, I wait your answer.
Thanks for your help.
Marion,
Le 18/05/2016 12:04, Peter Uhnák a écrit :
> Yes but someone must call rebuildWidget⦠I will try to take a look at this
> today and give a better/more comprehensive example.
>
> Peter
>
> On Wed, May 18, 2016 at 1:01 PM, stepharo <stepharo(a)free.fr> wrote:
>
>> I do not get it.
>>
>> I still think that the solution of peter is the one to implement
>>
>> rebuildWidget
>> self widgets removeAll.
>> self createWidgets.
>> self needFullRebuild: false.
>> self buildWithSpecLayout: self dynamicLayout.
>> self alignButtons
>>
>>
>> dynamicLayout
>> | keys |
>> keys := self widgets keys.
>> ^ SpecLayout composed
>> newColumn: [ :c |
>> keys do: [ :key | c newRow: key height: self class
>> buttonHeight ].
>> c newRow: [ :r | ] ];
>> yourself
>>
>>
>>
>> Le 18/5/16 à 12:46, Marion Noirbent a écrit :
>>
>> Because I would use "openWithSpec" to build only when the widget is ready,
>>> but it call a method (with the good pragma) on the class side.
>>>
>>> In the example i use i have add RadioButtonModel with addRadioButton: in
>>> the collection buttons, it's not empty but RadioButtonModel is a
>>> ComposableModel and layout: is define in the subclass
>>> DynamicComposableModel .
>>>
>>> Le 18/05/2016 10:22, stepharo a écrit :
>>>
>>>> But why from the class side.
>>>>
>>>> buttons
>>>> ^ buttons
>>>>
>>>> returns an empty collection
>>>>
>>>> and
>>>>
>>>> rebuildWidget
>>>> self widgets removeAll.
>>>> self createWidgets.
>>>> self needFullRebuild: false.
>>>> self buildWithSpecLayout: self dynamicLayout.
>>>> self alignButtons
>>>>
>>>>
>>>>
>>>> Le 18/5/16 à 11:31, Marion Noirbent a écrit :
>>>>
>>>>> I was trying to use it but i have still the problem to call the
>>>>> instance method from the class side, so i call the
>>>>> buildWithSpecLayout: in the method to add buttons in the collection,
>>>>> it seems work but i have an "MessageNotUnderstood" RadioButton>>layout:
>>>>>
>>>>> Le 18/05/2016 09:20, stepharo a écrit :
>>>>>
>>>>>> marion the solution is what peter proposes.
>>>>>>
>>>>>> Stef
>>>>>>
>>>>>>
>>>>>> Le 18/5/16 à 11:14, Marion Noirbent a écrit :
>>>>>>
>>>>>>> In fact i was trying to modify RadioButtonGroup to turn it into a
>>>>>>> widget, #buttons is not a widget but its collection of widget.
>>>>>>>
>>>>>>> May you have confused RadioButtonGroup with the MenuModel /
>>>>>>> MenuGroupModel / MenuItemModel which are widgets. I take inspiration
>>>>>>> from them and I would got the same kind of behaviour.
>>>>>>>
>>>>>>> Le 17/05/2016 21:11, stepharo a écrit :
>>>>>>>
>>>>>>>> Thanks Johan
>>>>>>>>
>>>>>>>>
>>>>>>>> We looked at
>>>>>>>>
>>>>>>>> RadioButtonGroupExample
>>>>>>>>
>>>>>>>> but you see we cannot have a RadioButtonGroupPresenter having 2, 3
>>>>>>>> or 4
>>>>>>>> radioButton.
>>>>>>>>
>>>>>>>> Stef
>>>>>>>>
>>>>>>>>
>>>>>>>> Le 17/5/16 à 18:52, Johan Fabry a écrit :
>>>>>>>>
>>>>>>>>> Hi Marion,
>>>>>>>>>
>>>>>>>>> the class side message of defaultSpec is generally meant to be
>>>>>>>>> used if
>>>>>>>>> you use a fixed number of widgets, so you can put the reference to
>>>>>>>>> the
>>>>>>>>> name of each widget there (in cour case #buttons). For variable
>>>>>>>>> number
>>>>>>>>> of widgets you should have a look at the dynamic features of Spec.
>>>>>>>>>
>>>>>>>>> That being said, It looks like what you really want to use is a
>>>>>>>>> Radio
>>>>>>>>> Button Group. Have a look at RadioButtonGroupExample.
>>>>>>>>>
>>>>>>>>> HTH
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Does this mail seem too brief? Sorry for that, I donât mean to be
>>>>>>>>> rude! Please see http://emailcharter.org .
>>>>>>>>>
>>>>>>>>> Johan Fabry - http://pleiad.cl/~jfabry
>>>>>>>>> PLEIAD and RyCh labs - Computer Science Department (DCC) -
>>>>>>>>> University of Chile
>>>>>>>>>
>>>>>>>>> On May 17, 2016, at 13:48, Marion Noirbent
>>>>>>>>>> <ms.noirbent(a)etudiant.univ-lille1.fr> wrote:
>>>>>>>>>>
>>>>>>>>>> Hi,
>>>>>>>>>> I'm trying to create a widget whith Spec, managing a collection of
>>>>>>>>>> RadioButton. But I have a problem with defaultSpec (the accessor of
>>>>>>>>>> the collection is the methods "buttons") :
>>>>>>>>>>
>>>>>>>>>> If i put defaultSpec on class side, i can't acces the collection of
>>>>>>>>>> the instance. (the following code iterate on the string)
>>>>>>>>>>
>>>>>>>>>> defaultSpec
>>>>>>>>>> <spec: #default>
>>>>>>>>>> ^ SpecLayout composed
>>>>>>>>>> newColumn: [ :column | #buttons do: [ :item | column add:
>>>>>>>>>> item ] ];
>>>>>>>>>> yourself
>>>>>>>>>>
>>>>>>>>>> If i put it on instance side, the lookup don't find it (in the book
>>>>>>>>>> Building UI with Spec, it said the lookup begin by the instance
>>>>>>>>>> side
>>>>>>>>>> and it allow to have specific UI, in part about layout)
>>>>>>>>>>
>>>>>>>>>> defaultSpec
>>>>>>>>>> <spec: #default>
>>>>>>>>>> ^ SpecLayout composed
>>>>>>>>>> newColumn: [ :column | self buttons do: [ :item | column
>>>>>>>>>> add:
>>>>>>>>>> item ] ];
>>>>>>>>>> yourself
>>>>>>>>>>
>>>>>>>>>> Any idea ?
>>>>>>>>>>
>>>>>>>>>> Marion Noirbent,
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>
>>
>>
>
--
Ma clé publique sur pgp.mit.edu
May 18, 2016
Get a String during the execution
by Valentin Ryckewaert
Hi !
I'm trying to make a method able to ask the user to write something which
will be used in the method.
During my method execution, a pop up appear on the screen, the user write
anything 'test' for exemple, and then the method continue using this string.
The code looks like this:
MyClass>>dostuff
mypopup := MyPopup new.
mypopup openDialogWithSpec.
mypopup window okAction: [ date := mapop input text. dostuff with the
variable date ]."
And then I execute this method:
MyClass new dostuff.
SessionManager default snapshot: false andQuit: true (To close Pharo)
The problem is that the method dostuff wait the proc of the popup to make
what is in the bloc but continue execution and close Pharo.
I would like to be able to stop execution of the code just after mypopup
window okAction and to reactivate it in the bloc executed when it's proc.
Is it possible?
Valentin
May 18, 2016
Re: [Pharo-users] Spec layout
by Peter Uhnák
Yes but someone must call rebuildWidget⦠I will try to take a look at this
today and give a better/more comprehensive example.
Peter
On Wed, May 18, 2016 at 1:01 PM, stepharo <stepharo(a)free.fr> wrote:
> I do not get it.
>
> I still think that the solution of peter is the one to implement
>
> rebuildWidget
> self widgets removeAll.
> self createWidgets.
> self needFullRebuild: false.
> self buildWithSpecLayout: self dynamicLayout.
> self alignButtons
>
>
> dynamicLayout
> | keys |
> keys := self widgets keys.
> ^ SpecLayout composed
> newColumn: [ :c |
> keys do: [ :key | c newRow: key height: self class
> buttonHeight ].
> c newRow: [ :r | ] ];
> yourself
>
>
>
> Le 18/5/16 à 12:46, Marion Noirbent a écrit :
>
> Because I would use "openWithSpec" to build only when the widget is ready,
>> but it call a method (with the good pragma) on the class side.
>>
>> In the example i use i have add RadioButtonModel with addRadioButton: in
>> the collection buttons, it's not empty but RadioButtonModel is a
>> ComposableModel and layout: is define in the subclass
>> DynamicComposableModel .
>>
>> Le 18/05/2016 10:22, stepharo a écrit :
>>
>>> But why from the class side.
>>>
>>> buttons
>>> ^ buttons
>>>
>>> returns an empty collection
>>>
>>> and
>>>
>>> rebuildWidget
>>> self widgets removeAll.
>>> self createWidgets.
>>> self needFullRebuild: false.
>>> self buildWithSpecLayout: self dynamicLayout.
>>> self alignButtons
>>>
>>>
>>>
>>> Le 18/5/16 à 11:31, Marion Noirbent a écrit :
>>>
>>>> I was trying to use it but i have still the problem to call the
>>>> instance method from the class side, so i call the
>>>> buildWithSpecLayout: in the method to add buttons in the collection,
>>>> it seems work but i have an "MessageNotUnderstood" RadioButton>>layout:
>>>>
>>>> Le 18/05/2016 09:20, stepharo a écrit :
>>>>
>>>>> marion the solution is what peter proposes.
>>>>>
>>>>> Stef
>>>>>
>>>>>
>>>>> Le 18/5/16 à 11:14, Marion Noirbent a écrit :
>>>>>
>>>>>> In fact i was trying to modify RadioButtonGroup to turn it into a
>>>>>> widget, #buttons is not a widget but its collection of widget.
>>>>>>
>>>>>> May you have confused RadioButtonGroup with the MenuModel /
>>>>>> MenuGroupModel / MenuItemModel which are widgets. I take inspiration
>>>>>> from them and I would got the same kind of behaviour.
>>>>>>
>>>>>> Le 17/05/2016 21:11, stepharo a écrit :
>>>>>>
>>>>>>> Thanks Johan
>>>>>>>
>>>>>>>
>>>>>>> We looked at
>>>>>>>
>>>>>>> RadioButtonGroupExample
>>>>>>>
>>>>>>> but you see we cannot have a RadioButtonGroupPresenter having 2, 3
>>>>>>> or 4
>>>>>>> radioButton.
>>>>>>>
>>>>>>> Stef
>>>>>>>
>>>>>>>
>>>>>>> Le 17/5/16 à 18:52, Johan Fabry a écrit :
>>>>>>>
>>>>>>>> Hi Marion,
>>>>>>>>
>>>>>>>> the class side message of defaultSpec is generally meant to be
>>>>>>>> used if
>>>>>>>> you use a fixed number of widgets, so you can put the reference to
>>>>>>>> the
>>>>>>>> name of each widget there (in cour case #buttons). For variable
>>>>>>>> number
>>>>>>>> of widgets you should have a look at the dynamic features of Spec.
>>>>>>>>
>>>>>>>> That being said, It looks like what you really want to use is a
>>>>>>>> Radio
>>>>>>>> Button Group. Have a look at RadioButtonGroupExample.
>>>>>>>>
>>>>>>>> HTH
>>>>>>>>
>>>>>>>> --
>>>>>>>> Does this mail seem too brief? Sorry for that, I donât mean to be
>>>>>>>> rude! Please see http://emailcharter.org .
>>>>>>>>
>>>>>>>> Johan Fabry - http://pleiad.cl/~jfabry
>>>>>>>> PLEIAD and RyCh labs - Computer Science Department (DCC) -
>>>>>>>> University of Chile
>>>>>>>>
>>>>>>>> On May 17, 2016, at 13:48, Marion Noirbent
>>>>>>>>> <ms.noirbent(a)etudiant.univ-lille1.fr> wrote:
>>>>>>>>>
>>>>>>>>> Hi,
>>>>>>>>> I'm trying to create a widget whith Spec, managing a collection of
>>>>>>>>> RadioButton. But I have a problem with defaultSpec (the accessor of
>>>>>>>>> the collection is the methods "buttons") :
>>>>>>>>>
>>>>>>>>> If i put defaultSpec on class side, i can't acces the collection of
>>>>>>>>> the instance. (the following code iterate on the string)
>>>>>>>>>
>>>>>>>>> defaultSpec
>>>>>>>>> <spec: #default>
>>>>>>>>> ^ SpecLayout composed
>>>>>>>>> newColumn: [ :column | #buttons do: [ :item | column add:
>>>>>>>>> item ] ];
>>>>>>>>> yourself
>>>>>>>>>
>>>>>>>>> If i put it on instance side, the lookup don't find it (in the book
>>>>>>>>> Building UI with Spec, it said the lookup begin by the instance
>>>>>>>>> side
>>>>>>>>> and it allow to have specific UI, in part about layout)
>>>>>>>>>
>>>>>>>>> defaultSpec
>>>>>>>>> <spec: #default>
>>>>>>>>> ^ SpecLayout composed
>>>>>>>>> newColumn: [ :column | self buttons do: [ :item | column
>>>>>>>>> add:
>>>>>>>>> item ] ];
>>>>>>>>> yourself
>>>>>>>>>
>>>>>>>>> Any idea ?
>>>>>>>>>
>>>>>>>>> Marion Noirbent,
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>
>>>
>>
>
>
May 18, 2016
Re: [Pharo-users] Spec layout
by stepharo
I do not get it.
I still think that the solution of peter is the one to implement
rebuildWidget
self widgets removeAll.
self createWidgets.
self needFullRebuild: false.
self buildWithSpecLayout: self dynamicLayout.
self alignButtons
dynamicLayout
| keys |
keys := self widgets keys.
^ SpecLayout composed
newColumn: [ :c |
keys do: [ :key | c newRow: key height: self class
buttonHeight ].
c newRow: [ :r | ] ];
yourself
Le 18/5/16 à 12:46, Marion Noirbent a écrit :
> Because I would use "openWithSpec" to build only when the widget is
> ready, but it call a method (with the good pragma) on the class side.
>
> In the example i use i have add RadioButtonModel with addRadioButton:
> in the collection buttons, it's not empty but RadioButtonModel is a
> ComposableModel and layout: is define in the subclass
> DynamicComposableModel .
>
> Le 18/05/2016 10:22, stepharo a écrit :
>> But why from the class side.
>>
>> buttons
>> ^ buttons
>>
>> returns an empty collection
>>
>> and
>>
>> rebuildWidget
>> self widgets removeAll.
>> self createWidgets.
>> self needFullRebuild: false.
>> self buildWithSpecLayout: self dynamicLayout.
>> self alignButtons
>>
>>
>>
>> Le 18/5/16 à 11:31, Marion Noirbent a écrit :
>>> I was trying to use it but i have still the problem to call the
>>> instance method from the class side, so i call the
>>> buildWithSpecLayout: in the method to add buttons in the collection,
>>> it seems work but i have an "MessageNotUnderstood" RadioButton>>layout:
>>>
>>> Le 18/05/2016 09:20, stepharo a écrit :
>>>> marion the solution is what peter proposes.
>>>>
>>>> Stef
>>>>
>>>>
>>>> Le 18/5/16 à 11:14, Marion Noirbent a écrit :
>>>>> In fact i was trying to modify RadioButtonGroup to turn it into a
>>>>> widget, #buttons is not a widget but its collection of widget.
>>>>>
>>>>> May you have confused RadioButtonGroup with the MenuModel /
>>>>> MenuGroupModel / MenuItemModel which are widgets. I take inspiration
>>>>> from them and I would got the same kind of behaviour.
>>>>>
>>>>> Le 17/05/2016 21:11, stepharo a écrit :
>>>>>> Thanks Johan
>>>>>>
>>>>>>
>>>>>> We looked at
>>>>>>
>>>>>> RadioButtonGroupExample
>>>>>>
>>>>>> but you see we cannot have a RadioButtonGroupPresenter having 2, 3
>>>>>> or 4
>>>>>> radioButton.
>>>>>>
>>>>>> Stef
>>>>>>
>>>>>>
>>>>>> Le 17/5/16 à 18:52, Johan Fabry a écrit :
>>>>>>> Hi Marion,
>>>>>>>
>>>>>>> the class side message of defaultSpec is generally meant to be
>>>>>>> used if
>>>>>>> you use a fixed number of widgets, so you can put the reference to
>>>>>>> the
>>>>>>> name of each widget there (in cour case #buttons). For variable
>>>>>>> number
>>>>>>> of widgets you should have a look at the dynamic features of Spec.
>>>>>>>
>>>>>>> That being said, It looks like what you really want to use is a
>>>>>>> Radio
>>>>>>> Button Group. Have a look at RadioButtonGroupExample.
>>>>>>>
>>>>>>> HTH
>>>>>>>
>>>>>>> --
>>>>>>> Does this mail seem too brief? Sorry for that, I donât mean to be
>>>>>>> rude! Please see http://emailcharter.org .
>>>>>>>
>>>>>>> Johan Fabry - http://pleiad.cl/~jfabry
>>>>>>> PLEIAD and RyCh labs - Computer Science Department (DCC) -
>>>>>>> University of Chile
>>>>>>>
>>>>>>>> On May 17, 2016, at 13:48, Marion Noirbent
>>>>>>>> <ms.noirbent(a)etudiant.univ-lille1.fr> wrote:
>>>>>>>>
>>>>>>>> Hi,
>>>>>>>> I'm trying to create a widget whith Spec, managing a collection of
>>>>>>>> RadioButton. But I have a problem with defaultSpec (the
>>>>>>>> accessor of
>>>>>>>> the collection is the methods "buttons") :
>>>>>>>>
>>>>>>>> If i put defaultSpec on class side, i can't acces the
>>>>>>>> collection of
>>>>>>>> the instance. (the following code iterate on the string)
>>>>>>>>
>>>>>>>> defaultSpec
>>>>>>>> <spec: #default>
>>>>>>>> ^ SpecLayout composed
>>>>>>>> newColumn: [ :column | #buttons do: [ :item | column add:
>>>>>>>> item ] ];
>>>>>>>> yourself
>>>>>>>>
>>>>>>>> If i put it on instance side, the lookup don't find it (in the
>>>>>>>> book
>>>>>>>> Building UI with Spec, it said the lookup begin by the instance
>>>>>>>> side
>>>>>>>> and it allow to have specific UI, in part about layout)
>>>>>>>>
>>>>>>>> defaultSpec
>>>>>>>> <spec: #default>
>>>>>>>> ^ SpecLayout composed
>>>>>>>> newColumn: [ :column | self buttons do: [ :item | column
>>>>>>>> add:
>>>>>>>> item ] ];
>>>>>>>> yourself
>>>>>>>>
>>>>>>>> Any idea ?
>>>>>>>>
>>>>>>>> Marion Noirbent,
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>
>>
>>
>
May 18, 2016
SPLASH'16: 1st Call for Contributions to Collocated Events
by Tijs van der Storm
#################################################
ACM Conference on Systems, Programming, Languages, and Applications:
Software for Humanity (SPLASH'16)
#################################################
Amsterdam, The Netherlands
Sun 30th October - Fri 4th November , 2016
http://2016.splashcon.org
https://twitter.com/splashcon
https://www.facebook.com/SPLASHCon/
Sponsored by ACM SIGPLAN
Combined Call for Contributions to SPLASH tracks, collocated conferences,
symposia and workshops:
- SPLASH-I, Doctoral Symposium, Student Research Competition, Programming
Languages Mentoring Workshop, Posters
- Dynamic Languages Symposium (DLS)
- Generative Programming: Concepts & Experiences (GPCE)
- Software Language Engineering (SLE)
- Scala Symposium
- Workshops: AGERE, DSLDI, DSM, FOSD, ITSLE, LWC@SLE, META, MOBILE!, NOOL,
PLATEAU, Parsing@SLE, REBLS, RUMPLE, SA-MDE, SEPS, VMIL, WODA
The ACM SIGPLAN conference on Systems, Programming, Languages and
Applications: Software for Humanity (SPLASH) embraces all aspects of
software construction, to make it the premier conference at the
intersection of programming, languages, systems, and software engineering.
SPLASH'16 hosts a record number collocated tracks and events, from
associated conferences (GPCE, SLE) and symposia (DLS, Scala), to 16
workshops! Please see below about important dates. We look forward to your
submissions!
SPLASH'16 Additional Tracks
===========================
## SPLASH-I: Innovation, Interaction, Insight, Industry, Invited
SPLASH-I is the track of SPLASH dedicated to great talks on exciting
topics! SPLASH-I will run in parallel with all of SPLASH (during the week
days), and is open to all attendees. SPLASH-I will host both invited talks
and selected talks submitted via this call for proposals. SPLASH-I solicits
inspiring talks, tutorials and demonstrations on exciting topics related to
programming and programming systems, delivered by excellent speakers from
academia or industry.
Deadlines: 1st of June, 1st of August (if there are still available slots).
Website: http://2016.splashcon.org/track/splash-2016-splash-i
## Doctoral Symposium
The SPLASH Doctoral Symposium provides students with useful guidance for
completing their dissertation research and beginning their research
careers. The Symposium will provide an interactive forum for doctoral
students who have progressed far enough in their research to have a
structured proposal, but will not be defending their dissertation in the
next 12 months.
Submission deadline: Thu 30 Jun 2016
Website: http://2016.splashcon.org/track/splash-2016-ds
## Student Research Competition
Continuing the successes of previous years, SPLASH is again hosting an ACM
SIGPLAN Student Research Competition (ACM SRC). The competition is an
internationally-recognized venue that enables undergraduate and graduate
students to experience the research world and to share their research
results with other students and SPLASH attendees. The competition has
separate categories for undergraduate and graduate students and awards
prizes to the top three students in each category. The ACM SIGPLAN Student
Research Competition shares the Poster sessionâs goal to facilitate
interaction with researchers and industry practitioners, providing both
sides with the opportunity to learn of ongoing, current research.
Additionally, the Student Research Competition gives students experience
with both formal presentations and evaluations.
Submission deadline: Mon 15 Aug 2016
Website: http://2016.splashcon.org/track/splash-2016-src
## PLMW: Programming Language Mentoring Workshop
The purpose of Programming Languages Mentoring Workshop (PLMW) is to give
promising students who consider pursuing a graduate degree in this field an
overview of what research in this field looks like and how to get into and
succeed in graduate school. In other words, a combination whirlwind tour of
this research area, networking opportunity, and how-to-succeed guide. The
program of PLMW will include talks by prominent researchers of the field of
programming languages and software engineering providing an insight in
their research. To learn more about PLMW, please see the SIGPLAN PLMW web
page (http://www.sigplan.org/Conferences/PLMW/)
Application deadline: Sun 14 Aug 2016
Website: http://2016.splashcon.org/track/splash-2016-plmw
## Posters
The SPLASH Poster track provides an excellent forum for authors to present
their recent or ongoing projects in an interactive setting, and receive
feedback from the community. We invite submissions covering any aspect of
programming, systems, languages and applications. The goal of the poster
session is to encourage and facilitate small groups of individuals
interested in a technical area to gather and interact. It is held early in
the conference, to promote continued discussion among interested parties.
Submission deadline: Fri 8 Jul 2016
Website: http://2016.splashcon.org/track/splash-2016-posters
Collocated Conferences and Symposia
===================================
## DLS: Dynamic Languages Symposium
The 12th Dynamic Languages Symposium (DLS) at SPLASH 2016 invites high
quality papers reporting original research and experience related to the
design, implementation, and applications of dynamic languages.
Paper submission deadline: Fri 10 Jun 2016
Website: http://conf.researchr.org/track/dls-2016/dls-2016-papers
## GPCE: Generative Programming: Concepts & Experiences
Generative and component approaches and domain-specific abstractions are
revolutionizing software development just as automation and
componentization revolutionized manufacturing. Raising the level of
abstraction in software specification has been a fundamental goal of the
computing community for several decades. Key technologies for automating
program development and lifting the abstraction level closer to the problem
domain are Generative Programming for program synthesis, Domain-Specific
Languages (DSLs) for compact problem-oriented programming notations, and
corresponding Implementation Technologies aiming at modularity,
correctness, reuse, and evolution. As the field matures Applications and
Empirical Results are of increasing importance.
The International Conference on Generative Programming: Concepts &
Experiences (GPCE) is a venue for researchers and practitioners interested
in techniques that use program generation, domain-specific languages, and
component deployment to increase programmer productivity, improve software
quality, and shorten the time-to-market of software products. In addition
to exploring cutting-edge techniques of generative software, our goal is to
foster further cross-fertilization between the software engineering and the
programming languages research communities.
Abstract submission deadline: Fri 17 Jun 2016
Paper submission deadline: Fri 24 Jun 2016
Website: http://www.gpce.org
Call for papers (pdf):
http://conf.researchr.org/getImage/gpce-2016/orig/GPCE16+-+Call+for+Papers.…
Twitter: https://twitter.com/gpceconf
Facebook: https://www.facebook.com/GPCEConference/
## Scala Symposium
The Scala Symposium is a forum for researchers and practitioners to share
new ideas and results of interest to the Scala programming language
community. We welcome a broad spectrum of research topics in many formats,
going from student talks all the way to full 10-page research papers,
indexed by the ACM Digital Library.
Abstract submission deadline: Sun 17 Jul 2016
Paper submission deadline: Mon 25 Jul 2016
Website: http://2016.splashcon.org/track/scala-2016
## SLE: Software Language Engineering
Software Language Engineering (SLE) is the application of systematic,
disciplined, and measurable approaches to the development, use, deployment,
and maintenance of software languages. The term âsoftware languageâ is used
broadly, and includes: general-purpose programming languages;
domain-specific languages (e.g. BPMN, Simulink, Modelica); modeling and
metamodeling languages (e.g. SysML and UML); data models and ontologies
(e.g. XML-based and OWL-based languages and vocabularies).
SLE aims to be broad-minded and inclusive about relevance and scope. We
solicit high-quality contributions in areas ranging from theoretical and
conceptual contributions to tools, techniques, and frameworks in the domain
of language engineering. Topics relevant to SLE cover generic aspects of
software languages development rather than aspects of engineering a
specific language.
Abstract submission deadline: Fri 17 Jun 2016
Paper submission deadline: Fri 24 Jun 2016
Website: http://2016.splashcon.org/track/sle-2016-papers
Twitter: https://twitter.com/sleconf
Facebook https://www.facebook.com/SLEconference/
Workshops
=========
SPLASH'16 will host a record number of 16 workshops:
## AGERE! Programming based on Actors, Agents, and Decentralized Control
The AGERE! workshop is aimed at focusing on programming systems, languages
and applications based on actors, active/concurrent objects, agents and â
more generally â high-level programming paradigms promoting a mindset of
decentralized control in solving problems and developing software. The
workshop is designed to cover both the theory and the practice of design
and programming, bringing together researchers working on models, languages
and technologies, and practitioners developing real-world systems and
applications.
Abstract submission deadline: Mon 1 Aug 2016
Paper submission deadline: Mon 15 Aug 2016
Website: http://2016.splashcon.org/track/agere2016
## DSLDI: Domain-specific Language Design and Implementation
Domain-Specific Language Design and Implementation (DSLDI) is a workshop
intended to bring together researchers and practitioners interested in
discussing how DSLs should be designed, implemented, supported by tools,
and applied in realistic contexts. The focus of the workshop is on all
aspects of this process, from soliciting domain knowledge from experts,
through the design and implementation of the language, to evaluating
whether and how a DSL is successful. More generally, we are interested in
continuing to build a community that can drive forward the development of
modern DSLs.
Submission deadline talk proposals: Mon 1 Aug 2016
Website: http://2016.splashcon.org/track/dsldi2016
## DSM: Domain-Specific Modeling
Domain-specific languages provide a viable and time-tested solution for
continuing to raise the level of abstraction, and thus productivity, beyond
coding, making systems development faster and easier. When accompanied with
suitable automated modeling tools and generators it delivers to the
promises of continuous delivery and devops. In domain-specific modeling
(DSM) the models are constructed using concepts that represent things in
the application domain, not concepts of a given programming language. The
modeling language follows the domain abstractions and semantics, allowing
developers to perceive them- selves as working directly with domain
concepts. Together with frameworks and platforms, DSM can automate a large
portion of software production.
Submission deadline: Mon 15 Aug 2016
Website: http://2016.splashcon.org/track/dsm2016
## FOSD: Feature-oriented Software Development
Feature orientation is an emerging paradigm of software development. It
supports the automatic generation of large-scale software systems from a
set of units of functionality, called features. The key idea of
feature-oriented software development (FOSD) is to explicitly represent
similarities and differences of a family of software systems for a given
application domain (e.g., database systems, banking software, text
processing systems) with the goal of reusing software artifacts among the
family members.
Submission deadline: Mon 1 Aug 2016
Website: http://www.fosd.net/workshop2016
Call for papers:
http://conf.researchr.org/getImage/FOSD-2016/orig/FOSD+2016+-+CFP.pdf
## ITSLE: Industry Track Software Language Engineering
Industry Track for Software Language Engineering (ITSLE) is a workshop to
bring together practitioners and researchers from industry and academia
working on the area of software language engineering. Domain Specific
Languages (DSLs) and Model-Driven Software Engineering (MDSE) techniques
are being developed and used broadly in industry. However, as the size and
complexity of software systems steadily increase, so does the cost of
maintaining and improving the DSL and MDSE techniques and tools. It
introduces new challenges such as language co-evolution, maintainability of
legacy software using older version of DSLs and MDSE techniques, and
extendability and scalability of these techniques. Some of these challenges
have been addressed by the SLE research community and some remain unsolved.
Submission deadline: Mon 1 Aug 2016
Website: http://2016.splashcon.org/track/itsle2016
## LWC@SLE: Language Workbench Challenge
Language workbenches are tools for software language engineering. They
distinguish themselves from traditional compiler tools by providing
integrated development environment (IDE) support for defining,
implementing, testing and maintaining languages. Not only that, languages
built with a language workbench are supported by IDE features as well
(e.g., syntax highlighting, outlining, reference resolving, completion
etc.). As a result, language workbenches achieve a next level in terms of
productivity and interactive editor support for building languages, in
comparison to traditional batch-oriented, compiler construction tools. The
goal of this workshop is twofold. First: exercise and assess the
state-of-the-art in language workbenches using challenge problems from the
user perspective (i.e. the language designer). Second: foster knowledge
exchange and opportunities for collaboration between language workbench
implementors and researchers.
Submission deadline of solutions: Mon 1 Aug 2016
Website: http://2016.splashcon.org/track/lwc2016
## META
The Metaâ16 workshop aims to bring together researchers working on
metaprogramming and reflection, as well as users building applications,
language extensions such as contracts, or software tools. With the changing
hardware and software landscape, and increased heterogeneity of systems,
metaprogramming becomes an important research topic to handle the associate
complexity once more. Contributions to the workshop are welcome on a wide
range of topics related to design, implementation, and application of
metaprogramming techniques, as well as empirical studies on and typing for
such systems and languages.
Abstract submission: Wed 27 Jul 2016
Paper submission: Mon 1 Aug 2016
Website: http://2016.splashcon.org/track/meta2016
## Mobile!
Mobile application use and development is experiencing enormous growth, and
by 2016 more than 200 billion apps have been downloaded. The mobile domain
presents new challenges to software engineering. Mobile platforms are
rapidly changing, with diverse capabilities including various input modes,
wireless communication types, on-device memory and disk capacities, and
sensors. Applications function on wide ranges of platforms, requiring
scaling according to hardware. Many applications interact with third-party
services, requiring application development with effective security and
authorization processes for those dataflows. âBring your own deviceâ
policies pose security challenges including employer and employee data
privacy. Developing secure mobile applications requires new tools and
practices such as improved refactoring tools for hybrid applications;
polyglot applications; and testing techniques for multiple devices. This
workshop aims to establish a community of researchers and practitioners,
leading to further research in mobile development.
Paper submission deadline: Mon 1 Aug 2016
Website: http://2016.splashcon.org/track/mobile2016
## NOOL: New Object-Oriented Languages
NOOL-16 is a new unsponsored workshop to bring together users and
implementors of new(ish) object oriented systems. Through presentations,
and panel discussions, as well as demonstrations, and video and audiotapes,
NOOL-16 will provide a forum for sharing experience and knowledge among
experts and novices alike. We invite technical papers, case studies, and
surveys in the following areas, related to theory of object oriented
programming, new languages, implementation of languages, tools and
environment, applications and related work.
Abstract submission deadline: Thu 1 Sep 2016
Website: http://2016.splashcon.org/track/nool2016
## PLATEAU: Workshop on Evaluation and Usability of Programming Languages
and Tools
Programming languages exist to enable programmers to develop software
effectively. But how efficiently programmers can write software depends on
the usability of the languages and tools that they develop with. The aim of
this workshop is to discuss methods, metrics and techniques for evaluating
the usability of languages and language tools. The supposed benefits of
such languages and tools cover a large space, including making programs
easier to read, write, and maintain; allowing programmers to write more
flexible and powerful programs; and restricting programs to make them more
safe and secure. PLATEAU gathers the intersection of researchers in the
programming language, programming tool, and human-computer interaction
communities to share their research and discuss the future of evaluation
and usability of programming languages and tools.
Paper submission deadline: Mon 1 Aug 2016
Website: http://2016.splashcon.org/track/plateau2016
## Parsing@SLE
Parsing@SLE 2016 is the fourth annual workshop on parsing programming
languages. The intended participants are the authors of parser generation
tools and parsers for programming languages and other software languages.
For the purpose of this workshop âparsingâ is a computation that takes a
sequence of characters as input and produces a syntax tree or graph as
output. This possibly includes tokenization using regular expressions,
deriving trees using context-free grammars, and mapping to abstract syntax
trees. The goal is to bring together todayâs experts in the field of
parsing, in order to explore open questions and possibly forge new
collaborations. The topics may include algorithms, implementation and
generation techniques, syntax and semantics of meta formalisms (BNF), etc.
We expect to attract participants that have been or are developing theory,
techniques and tools in the broad area of parsing.
Abstract submission deadline: Fri 9 Sep 2016
Website: http://2016.splashcon.org/track/parsing2016
## REBLS: Reactive and Event-based Languages & Systems
Reactive programming and event-based programming are two closely related
programming styles that are becoming ever more important with the advent of
advanced HPC technology and the ever increasing requirement for our
applications to run on the web or on collaborating mobile devices. A number
of publications on middleware and language design â so-called reactive and
event-based languages and systems (REBLS) â have already seen the light,
but the field still raises several questions. For example, the interaction
with mainstream language concepts is poorly understood, implementation
technology is in its infancy and modularity mechanisms are almost totally
lacking. Moreover, large applications are still to be developed and
patterns and tools for developing reactive applications is an area that is
vastly unexplored.
Paper submission deadline: Mon 1 Aug 2016
Website: http://2016.splashcon.org/track/rebls2016
## RUMPLE: ReUsable and Modular Programming Language Ecosystems
The RUMPLEâ16 workshop is a venue for discussing a wide range of topics
related to modular approaches to programming language implementation,
extensible virtual machine architectures, as well as reusable runtime
components such as dynamic compilers, interpreters, or garbage collectors.
One of the main goals of the workshop is to bring together both researchers
and practitioners and facilitate effective sharing of their respective
experiences and ideas. We welcome presentation proposals in the form of
extended abstracts discussing experiences, work-in-progress, as well as
future visions from the academic as well as industrial perspective.
Extended abstract submission deadline: Mon 1 Aug 2016
Website: http://2016.splashcon.org/track/rumple2016
## SA-MDE: Tutorial on MDD with Model Catalogue and Semantic Booster
With the model-driven development (MDD) approach to software, rather than
building each system from scratch, one specifies a metamodel covering a
whole class of similar systems, provides a universal generator to transform
metamodel instances into executable programs, and specifies each system by
a higher-level model conforming to the metamodel. When the application
domain concerns semantically rich datasetsâwith structured entities,
interlinked data, and sophisticated integrity constraintsâthen the MDD
tools should support this richness: in the metamodel, in individual system
models, and in the generation process. In this tutorial, we present the
Model Catalogue and Semantic Booster, tools respectively for curating and
exploiting semantically rich data in a MDD workflow, which are under
development as part of ALIGNED. Participants will learn what the tools can
do, gain hands-on experience with using them, and be able to contribute
challenges and suggestions for future development.
Website: http://2016.splashcon.org/track/samde2016
## SEPS: Software Engineering for Parallel Systems
This workshop provides a stable forum for researchers and practitioners
dealing with compelling challenges of the software development life cycle
on modern parallel platforms. The increased complexity of parallel
applications on modern parallel platforms (e.g. multicore/manycore,
distributed or hybrid) requires more insight into development processes,
and necessitates the use of advanced methods and techniques supporting
developers in creating parallel applications or parallelizing and
re-engineering sequential legacy applications. We aim to advance the state
of the art in different phases of parallel software development, covering
software engineering aspects such as requirements engineering and software
specification; design and implementation; program analysis, profiling and
tuning; testing and debugging.
Paper submission deadline: Mon 1 Aug 2016
Website: http://2016.splashcon.org/track/seps2016
## VMIL: Virtual Machines and Intermediate Languages
The VMIL workshop is a forum for research in virtual machines and
intermediate languages. It is dedicated to identifying programming
mechanisms and constructs that are currently realized as code
transformations or implemented in libraries but should rather be supported
at VM level. Candidates for such mechanisms and constructs include
modularity mechanisms (aspects, context-dependent layers), concurrency
(threads and locking, actors, capsules, processes, software transactional
memory), transactions, development tools (profilers, runtime verification),
etc. Topics of interest include the investigation of which such mechanisms
are worthwhile candidates for integration with the run-time environment,
how said mechanisms can be elegantly (and reusably) expressed at the
intermediate language level (e.g., in bytecode), how their implementations
can be optimized, and how virtual machine architectures might be shaped to
facilitate such implementation efforts.
Paper submission deadline: Mon 1 Aug 2016
Website: http://2016.splashcon.org/track/vmil2016
## WODA: Workshop on Dynamic Analysis
The International Workshop on Dynamic Analysis (WODA) is the place where
researchers interested in dynamic analysis and related topics can meet and
discuss current research, issues, and trends in the field. WODA exists
since 2003 and has been co-located with several different SE/PL conferences
in the past, including ICSE, ISSTA, ASPLOS, and SPLASH. See
https://sites.google.com/site/scwoda/ for the history of WODA. The 2016
edition of WODA will be a mix of invited talks by high-visibility
researchers in the community and presentations of submitted workshop papers.
Submission deadline: Fri 19 Aug 2016
Website: http://2016.splashcon.org/track/woda2016
May 18, 2016
Re: [Pharo-users] Spec layout
by Marion Noirbent
Because I would use "openWithSpec" to build only when the widget is
ready, but it call a method (with the good pragma) on the class side.
In the example i use i have add RadioButtonModel with addRadioButton: in
the collection buttons, it's not empty but RadioButtonModel is a
ComposableModel and layout: is define in the subclass
DynamicComposableModel .
Le 18/05/2016 10:22, stepharo a écrit :
> But why from the class side.
>
> buttons
> ^ buttons
>
> returns an empty collection
>
> and
>
> rebuildWidget
> self widgets removeAll.
> self createWidgets.
> self needFullRebuild: false.
> self buildWithSpecLayout: self dynamicLayout.
> self alignButtons
>
>
>
> Le 18/5/16 à 11:31, Marion Noirbent a écrit :
>> I was trying to use it but i have still the problem to call the
>> instance method from the class side, so i call the
>> buildWithSpecLayout: in the method to add buttons in the collection,
>> it seems work but i have an "MessageNotUnderstood" RadioButton>>layout:
>>
>> Le 18/05/2016 09:20, stepharo a écrit :
>>> marion the solution is what peter proposes.
>>>
>>> Stef
>>>
>>>
>>> Le 18/5/16 à 11:14, Marion Noirbent a écrit :
>>>> In fact i was trying to modify RadioButtonGroup to turn it into a
>>>> widget, #buttons is not a widget but its collection of widget.
>>>>
>>>> May you have confused RadioButtonGroup with the MenuModel /
>>>> MenuGroupModel / MenuItemModel which are widgets. I take inspiration
>>>> from them and I would got the same kind of behaviour.
>>>>
>>>> Le 17/05/2016 21:11, stepharo a écrit :
>>>>> Thanks Johan
>>>>>
>>>>>
>>>>> We looked at
>>>>>
>>>>> RadioButtonGroupExample
>>>>>
>>>>> but you see we cannot have a RadioButtonGroupPresenter having 2, 3
>>>>> or 4
>>>>> radioButton.
>>>>>
>>>>> Stef
>>>>>
>>>>>
>>>>> Le 17/5/16 à 18:52, Johan Fabry a écrit :
>>>>>> Hi Marion,
>>>>>>
>>>>>> the class side message of defaultSpec is generally meant to be
>>>>>> used if
>>>>>> you use a fixed number of widgets, so you can put the reference to
>>>>>> the
>>>>>> name of each widget there (in cour case #buttons). For variable
>>>>>> number
>>>>>> of widgets you should have a look at the dynamic features of Spec.
>>>>>>
>>>>>> That being said, It looks like what you really want to use is a Radio
>>>>>> Button Group. Have a look at RadioButtonGroupExample.
>>>>>>
>>>>>> HTH
>>>>>>
>>>>>> --
>>>>>> Does this mail seem too brief? Sorry for that, I donât mean to be
>>>>>> rude! Please see http://emailcharter.org .
>>>>>>
>>>>>> Johan Fabry - http://pleiad.cl/~jfabry
>>>>>> PLEIAD and RyCh labs - Computer Science Department (DCC) -
>>>>>> University of Chile
>>>>>>
>>>>>>> On May 17, 2016, at 13:48, Marion Noirbent
>>>>>>> <ms.noirbent(a)etudiant.univ-lille1.fr> wrote:
>>>>>>>
>>>>>>> Hi,
>>>>>>> I'm trying to create a widget whith Spec, managing a collection of
>>>>>>> RadioButton. But I have a problem with defaultSpec (the accessor of
>>>>>>> the collection is the methods "buttons") :
>>>>>>>
>>>>>>> If i put defaultSpec on class side, i can't acces the collection of
>>>>>>> the instance. (the following code iterate on the string)
>>>>>>>
>>>>>>> defaultSpec
>>>>>>> <spec: #default>
>>>>>>> ^ SpecLayout composed
>>>>>>> newColumn: [ :column | #buttons do: [ :item | column add:
>>>>>>> item ] ];
>>>>>>> yourself
>>>>>>>
>>>>>>> If i put it on instance side, the lookup don't find it (in the book
>>>>>>> Building UI with Spec, it said the lookup begin by the instance side
>>>>>>> and it allow to have specific UI, in part about layout)
>>>>>>>
>>>>>>> defaultSpec
>>>>>>> <spec: #default>
>>>>>>> ^ SpecLayout composed
>>>>>>> newColumn: [ :column | self buttons do: [ :item | column
>>>>>>> add:
>>>>>>> item ] ];
>>>>>>> yourself
>>>>>>>
>>>>>>> Any idea ?
>>>>>>>
>>>>>>> Marion Noirbent,
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>
>>>
>>
>
>
--
Ma clé publique sur pgp.mit.edu
May 18, 2016
Re: [Pharo-users] Spec layout
by Marion Noirbent
I was trying to use it but i have still the problem to call the instance
method from the class side, so i call the buildWithSpecLayout: in the
method to add buttons in the collection, it seems work but i have an
"MessageNotUnderstood" RadioButton>>layout:
Le 18/05/2016 09:20, stepharo a écrit :
> marion the solution is what peter proposes.
>
> Stef
>
>
> Le 18/5/16 à 11:14, Marion Noirbent a écrit :
>> In fact i was trying to modify RadioButtonGroup to turn it into a
>> widget, #buttons is not a widget but its collection of widget.
>>
>> May you have confused RadioButtonGroup with the MenuModel /
>> MenuGroupModel / MenuItemModel which are widgets. I take inspiration
>> from them and I would got the same kind of behaviour.
>>
>> Le 17/05/2016 21:11, stepharo a écrit :
>>> Thanks Johan
>>>
>>>
>>> We looked at
>>>
>>> RadioButtonGroupExample
>>>
>>> but you see we cannot have a RadioButtonGroupPresenter having 2, 3 or 4
>>> radioButton.
>>>
>>> Stef
>>>
>>>
>>> Le 17/5/16 à 18:52, Johan Fabry a écrit :
>>>> Hi Marion,
>>>>
>>>> the class side message of defaultSpec is generally meant to be used if
>>>> you use a fixed number of widgets, so you can put the reference to the
>>>> name of each widget there (in cour case #buttons). For variable number
>>>> of widgets you should have a look at the dynamic features of Spec.
>>>>
>>>> That being said, It looks like what you really want to use is a Radio
>>>> Button Group. Have a look at RadioButtonGroupExample.
>>>>
>>>> HTH
>>>>
>>>> --
>>>> Does this mail seem too brief? Sorry for that, I donât mean to be
>>>> rude! Please see http://emailcharter.org .
>>>>
>>>> Johan Fabry - http://pleiad.cl/~jfabry
>>>> PLEIAD and RyCh labs - Computer Science Department (DCC) -
>>>> University of Chile
>>>>
>>>>> On May 17, 2016, at 13:48, Marion Noirbent
>>>>> <ms.noirbent(a)etudiant.univ-lille1.fr> wrote:
>>>>>
>>>>> Hi,
>>>>> I'm trying to create a widget whith Spec, managing a collection of
>>>>> RadioButton. But I have a problem with defaultSpec (the accessor of
>>>>> the collection is the methods "buttons") :
>>>>>
>>>>> If i put defaultSpec on class side, i can't acces the collection of
>>>>> the instance. (the following code iterate on the string)
>>>>>
>>>>> defaultSpec
>>>>> <spec: #default>
>>>>> ^ SpecLayout composed
>>>>> newColumn: [ :column | #buttons do: [ :item | column add:
>>>>> item ] ];
>>>>> yourself
>>>>>
>>>>> If i put it on instance side, the lookup don't find it (in the book
>>>>> Building UI with Spec, it said the lookup begin by the instance side
>>>>> and it allow to have specific UI, in part about layout)
>>>>>
>>>>> defaultSpec
>>>>> <spec: #default>
>>>>> ^ SpecLayout composed
>>>>> newColumn: [ :column | self buttons do: [ :item | column add:
>>>>> item ] ];
>>>>> yourself
>>>>>
>>>>> Any idea ?
>>>>>
>>>>> Marion Noirbent,
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>
>
--
Ma clé publique sur pgp.mit.edu
May 18, 2016
Re: [Pharo-users] Spec layout
by stepharo
But why from the class side.
buttons
^ buttons
returns an empty collection
and
rebuildWidget
self widgets removeAll.
self createWidgets.
self needFullRebuild: false.
self buildWithSpecLayout: self dynamicLayout.
self alignButtons
Le 18/5/16 à 11:31, Marion Noirbent a écrit :
> I was trying to use it but i have still the problem to call the
> instance method from the class side, so i call the
> buildWithSpecLayout: in the method to add buttons in the collection,
> it seems work but i have an "MessageNotUnderstood" RadioButton>>layout:
>
> Le 18/05/2016 09:20, stepharo a écrit :
>> marion the solution is what peter proposes.
>>
>> Stef
>>
>>
>> Le 18/5/16 à 11:14, Marion Noirbent a écrit :
>>> In fact i was trying to modify RadioButtonGroup to turn it into a
>>> widget, #buttons is not a widget but its collection of widget.
>>>
>>> May you have confused RadioButtonGroup with the MenuModel /
>>> MenuGroupModel / MenuItemModel which are widgets. I take inspiration
>>> from them and I would got the same kind of behaviour.
>>>
>>> Le 17/05/2016 21:11, stepharo a écrit :
>>>> Thanks Johan
>>>>
>>>>
>>>> We looked at
>>>>
>>>> RadioButtonGroupExample
>>>>
>>>> but you see we cannot have a RadioButtonGroupPresenter having 2, 3
>>>> or 4
>>>> radioButton.
>>>>
>>>> Stef
>>>>
>>>>
>>>> Le 17/5/16 à 18:52, Johan Fabry a écrit :
>>>>> Hi Marion,
>>>>>
>>>>> the class side message of defaultSpec is generally meant to be
>>>>> used if
>>>>> you use a fixed number of widgets, so you can put the reference to
>>>>> the
>>>>> name of each widget there (in cour case #buttons). For variable
>>>>> number
>>>>> of widgets you should have a look at the dynamic features of Spec.
>>>>>
>>>>> That being said, It looks like what you really want to use is a Radio
>>>>> Button Group. Have a look at RadioButtonGroupExample.
>>>>>
>>>>> HTH
>>>>>
>>>>> --
>>>>> Does this mail seem too brief? Sorry for that, I donât mean to be
>>>>> rude! Please see http://emailcharter.org .
>>>>>
>>>>> Johan Fabry - http://pleiad.cl/~jfabry
>>>>> PLEIAD and RyCh labs - Computer Science Department (DCC) -
>>>>> University of Chile
>>>>>
>>>>>> On May 17, 2016, at 13:48, Marion Noirbent
>>>>>> <ms.noirbent(a)etudiant.univ-lille1.fr> wrote:
>>>>>>
>>>>>> Hi,
>>>>>> I'm trying to create a widget whith Spec, managing a collection of
>>>>>> RadioButton. But I have a problem with defaultSpec (the accessor of
>>>>>> the collection is the methods "buttons") :
>>>>>>
>>>>>> If i put defaultSpec on class side, i can't acces the collection of
>>>>>> the instance. (the following code iterate on the string)
>>>>>>
>>>>>> defaultSpec
>>>>>> <spec: #default>
>>>>>> ^ SpecLayout composed
>>>>>> newColumn: [ :column | #buttons do: [ :item | column add:
>>>>>> item ] ];
>>>>>> yourself
>>>>>>
>>>>>> If i put it on instance side, the lookup don't find it (in the book
>>>>>> Building UI with Spec, it said the lookup begin by the instance side
>>>>>> and it allow to have specific UI, in part about layout)
>>>>>>
>>>>>> defaultSpec
>>>>>> <spec: #default>
>>>>>> ^ SpecLayout composed
>>>>>> newColumn: [ :column | self buttons do: [ :item | column
>>>>>> add:
>>>>>> item ] ];
>>>>>> yourself
>>>>>>
>>>>>> Any idea ?
>>>>>>
>>>>>> Marion Noirbent,
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>
>>
>
May 18, 2016
Re: [Pharo-users] Spec layout
by Marion Noirbent
In fact i was trying to modify RadioButtonGroup to turn it into a
widget, #buttons is not a widget but its collection of widget.
May you have confused RadioButtonGroup with the MenuModel /
MenuGroupModel / MenuItemModel which are widgets. I take inspiration
from them and I would got the same kind of behaviour.
Le 17/05/2016 21:11, stepharo a écrit :
> Thanks Johan
>
>
> We looked at
>
> RadioButtonGroupExample
>
> but you see we cannot have a RadioButtonGroupPresenter having 2, 3 or 4
> radioButton.
>
> Stef
>
>
> Le 17/5/16 à 18:52, Johan Fabry a écrit :
>> Hi Marion,
>>
>> the class side message of defaultSpec is generally meant to be used if
>> you use a fixed number of widgets, so you can put the reference to the
>> name of each widget there (in cour case #buttons). For variable number
>> of widgets you should have a look at the dynamic features of Spec.
>>
>> That being said, It looks like what you really want to use is a Radio
>> Button Group. Have a look at RadioButtonGroupExample.
>>
>> HTH
>>
>> --
>> Does this mail seem too brief? Sorry for that, I donât mean to be
>> rude! Please see http://emailcharter.org .
>>
>> Johan Fabry - http://pleiad.cl/~jfabry
>> PLEIAD and RyCh labs - Computer Science Department (DCC) -
>> University of Chile
>>
>>> On May 17, 2016, at 13:48, Marion Noirbent
>>> <ms.noirbent(a)etudiant.univ-lille1.fr> wrote:
>>>
>>> Hi,
>>> I'm trying to create a widget whith Spec, managing a collection of
>>> RadioButton. But I have a problem with defaultSpec (the accessor of
>>> the collection is the methods "buttons") :
>>>
>>> If i put defaultSpec on class side, i can't acces the collection of
>>> the instance. (the following code iterate on the string)
>>>
>>> defaultSpec
>>> <spec: #default>
>>> ^ SpecLayout composed
>>> newColumn: [ :column | #buttons do: [ :item | column add:
>>> item ] ];
>>> yourself
>>>
>>> If i put it on instance side, the lookup don't find it (in the book
>>> Building UI with Spec, it said the lookup begin by the instance side
>>> and it allow to have specific UI, in part about layout)
>>>
>>> defaultSpec
>>> <spec: #default>
>>> ^ SpecLayout composed
>>> newColumn: [ :column | self buttons do: [ :item | column add:
>>> item ] ];
>>> yourself
>>>
>>> Any idea ?
>>>
>>> Marion Noirbent,
>>>
>>>
>>
>>
>
>
--
Ma clé publique sur pgp.mit.edu
May 18, 2016