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
March 2012
- 29 participants
- 105 messages
Re: [Pharo-users] Help with the interaction with widgets or morphs like Checkboxes, and Radio buttons and Texteditor boxes
by S Krish
I hope this might help...
Simple SUnit tests.. through basic morphic...
LayoutTests and MorphicWidgetTests would be nice.. #testModelAndView would
be basics of what might help...
But they are really the very rudimentary stuff.. Always use Model
/controller - presenter along with the View/ UI class. makes it easier..
On Sun, Apr 1, 2012 at 2:54 AM, S Krish
<krishnamachari.sudhakar(a)gmail.com>wrote:
> I am not sure I would recommend using Builder.. except for playing
> initially around.
>
> It is better to simply use the basic capabilities in Morph and tie it up
> with TableLayout policy.. Proportional Layout
>
> In that you do have a better chance of working these issues out once you
> get the core behaviors, the API/ methods of each of the morphs. That said
> many of these morphs are not perfect and will require patience to rip
> through the attributes you need and save to inst vars et al.
>
> Maybe sometime soon I can package a clean MorphicView system that will
> alleviate this pain of figuring out Morphic.. but its fun once you figure
> it out..
>
>
>
>
> On Sat, Mar 31, 2012 at 7:44 AM, Nelson Pingitore <
> pingitorenelson(a)gmail.com> wrote:
>
>> Hello Pharo Users. I am seeking help with the interaction with widgets
>> or morphs like Checkboxes, and Radio buttons and Texteditor boxes, I am
>> creating a User Settings Class to learn how to use Pharo. I copied some
>> core widgets from the UITheme exampleBasicControls. I would like to know,
>> starting with the code below, how to detect if the User has selected the
>> "Ok" or "Cancel" button in the lower right of the form, and then if the
>> user selects "Ok" how do I detect the state of the widgets (Checkboxes,
>> Radio buttons, or Texteditor), and save those states to instance variables?
>>
>> |dialog builder radioModel treeModel CheckboxA|
>> builder := UITheme exampleBuilder.
>> dialog := (builder newPluggableDialogWindow: 'Example basic controls')
>> useDefaultOKCancelButton.
>> radioModel := ExampleRadioButtonModel new.
>> treeModel := ValueHolder new contents: TextStyle actualTextStyles
>> explorerContents.
>> dialog contentMorph:
>> (
>> (
>> dialog newRow:
>> {
>> dialog newLabelGroup:
>> {
>> 'Normal Label'->(dialog newLabel: 'A Label').
>> 'Normal Button'->(dialog newButtonFor: nil action: nil label: 'A
>> Button' help: 'This is a button').
>> 'Default Button'->((dialog newButtonFor: nil action: nil label:
>> 'Default Button' help: 'This is a default button') isDefault: true).
>> 'Selected Button'->(dialog newButtonFor: (ValueHolder new contents:
>> true) getState: #contents
>> action: nil arguments: #() getEnabled: nil label: 'A Button' help:
>> 'This is a selected button').
>> 'Checkbox A'->(dialog newCheckboxFor: (ValueHolder new contents:
>> true)
>> getSelected: #contents setSelected: #contents: label: 'A Checkbox'
>> help: 'This is a checkbox').
>> 'Checkbox B'->(dialog newCheckboxFor: (ValueHolder new contents:
>> true)
>> getSelected: #contents setSelected: #contents: label: 'A Checkbox'
>> help: 'This is a checkbox').
>> 'Checkbox C'->(dialog newCheckboxFor: (ValueHolder new contents:
>> true)
>> getSelected: #contents setSelected: #contents: label: 'A Checkbox'
>> help: 'This is a checkbox').
>> 'Radio Buttons'->
>> (
>> (
>> dialog newColumn:
>> {
>> (dialog newRadioButtonFor: radioModel getSelected: #isLeft
>> setSelected: #beLeft label: 'Left' help: 'This is a radio buton').
>> (dialog newRadioButtonFor: radioModel getSelected: #isCenter
>> setSelected: #beCenter label: 'Center' help: 'This is a radio buton').
>> (dialog newRadioButtonFor: radioModel getSelected: #isRight
>> setSelected: #beRight label: 'Right' help: 'This is a radio buton')
>> }
>> )
>> vResizing: #shrinkWrap
>> ).
>> 'Text Entry'->(dialog newTextEntryFor: (ValueHolder new contents:
>> 'Hello') getText: #contents setText: #contents: help: 'This is a text
>> entry').
>> 'Slider'->(dialog newSliderFor: (ValueHolder new contents: 0.5)
>> getValue: #contents setValue: #contents: help: 'This is a slider').
>> 'Bump Temp'->(dialog newTextEntryFor: (ValueHolder new contents:
>> '75') getText: #contents setText: #contents: help: 'This is the random
>> shift').
>> }.
>> dialog newVerticalSeparator.
>> dialog newLabelGroup:
>> {
>> 'Drop List'->(dialog newDropListFor: (ListModel new list: #('One'
>> 'Two' 'Three' 'Four'))
>> list: #list getSelected: #selectionIndex setSelected:
>> #selectionIndex: help: 'This is a drop list').
>> 'Normal List'->
>> (
>> (
>> dialog newListFor: (ListModel new list: #('One' 'Two' 'Three'
>> 'Four'); selectionIndex: 3) list: #list selected: #selectionIndex
>> changeSelected: #selectionIndex:
>> help: 'This is a list'
>> )
>> minWidth: 120
>> ).
>> }.
>> }
>> )
>> vResizing: #spaceFill
>> );
>> model: nil.
>> builder openModal: dialog.
>>
>
>
March 31, 2012
Re: [Pharo-users] Help with the interaction with widgets or morphs like Checkboxes, and Radio buttons and Texteditor boxes
by S Krish
I am not sure I would recommend using Builder.. except for playing
initially around.
It is better to simply use the basic capabilities in Morph and tie it up
with TableLayout policy.. Proportional Layout
In that you do have a better chance of working these issues out once you
get the core behaviors, the API/ methods of each of the morphs. That said
many of these morphs are not perfect and will require patience to rip
through the attributes you need and save to inst vars et al.
Maybe sometime soon I can package a clean MorphicView system that will
alleviate this pain of figuring out Morphic.. but its fun once you figure
it out..
On Sat, Mar 31, 2012 at 7:44 AM, Nelson Pingitore <pingitorenelson(a)gmail.com
> wrote:
> Hello Pharo Users. I am seeking help with the interaction with widgets or
> morphs like Checkboxes, and Radio buttons and Texteditor boxes, I am
> creating a User Settings Class to learn how to use Pharo. I copied some
> core widgets from the UITheme exampleBasicControls. I would like to know,
> starting with the code below, how to detect if the User has selected the
> "Ok" or "Cancel" button in the lower right of the form, and then if the
> user selects "Ok" how do I detect the state of the widgets (Checkboxes,
> Radio buttons, or Texteditor), and save those states to instance variables?
>
> |dialog builder radioModel treeModel CheckboxA|
> builder := UITheme exampleBuilder.
> dialog := (builder newPluggableDialogWindow: 'Example basic controls')
> useDefaultOKCancelButton.
> radioModel := ExampleRadioButtonModel new.
> treeModel := ValueHolder new contents: TextStyle actualTextStyles
> explorerContents.
> dialog contentMorph:
> (
> (
> dialog newRow:
> {
> dialog newLabelGroup:
> {
> 'Normal Label'->(dialog newLabel: 'A Label').
> 'Normal Button'->(dialog newButtonFor: nil action: nil label: 'A
> Button' help: 'This is a button').
> 'Default Button'->((dialog newButtonFor: nil action: nil label:
> 'Default Button' help: 'This is a default button') isDefault: true).
> 'Selected Button'->(dialog newButtonFor: (ValueHolder new contents:
> true) getState: #contents
> action: nil arguments: #() getEnabled: nil label: 'A Button' help:
> 'This is a selected button').
> 'Checkbox A'->(dialog newCheckboxFor: (ValueHolder new contents: true)
> getSelected: #contents setSelected: #contents: label: 'A Checkbox'
> help: 'This is a checkbox').
> 'Checkbox B'->(dialog newCheckboxFor: (ValueHolder new contents: true)
> getSelected: #contents setSelected: #contents: label: 'A Checkbox'
> help: 'This is a checkbox').
> 'Checkbox C'->(dialog newCheckboxFor: (ValueHolder new contents: true)
> getSelected: #contents setSelected: #contents: label: 'A Checkbox'
> help: 'This is a checkbox').
> 'Radio Buttons'->
> (
> (
> dialog newColumn:
> {
> (dialog newRadioButtonFor: radioModel getSelected: #isLeft
> setSelected: #beLeft label: 'Left' help: 'This is a radio buton').
> (dialog newRadioButtonFor: radioModel getSelected: #isCenter
> setSelected: #beCenter label: 'Center' help: 'This is a radio buton').
> (dialog newRadioButtonFor: radioModel getSelected: #isRight
> setSelected: #beRight label: 'Right' help: 'This is a radio buton')
> }
> )
> vResizing: #shrinkWrap
> ).
> 'Text Entry'->(dialog newTextEntryFor: (ValueHolder new contents:
> 'Hello') getText: #contents setText: #contents: help: 'This is a text
> entry').
> 'Slider'->(dialog newSliderFor: (ValueHolder new contents: 0.5)
> getValue: #contents setValue: #contents: help: 'This is a slider').
> 'Bump Temp'->(dialog newTextEntryFor: (ValueHolder new contents:
> '75') getText: #contents setText: #contents: help: 'This is the random
> shift').
> }.
> dialog newVerticalSeparator.
> dialog newLabelGroup:
> {
> 'Drop List'->(dialog newDropListFor: (ListModel new list: #('One'
> 'Two' 'Three' 'Four'))
> list: #list getSelected: #selectionIndex setSelected:
> #selectionIndex: help: 'This is a drop list').
> 'Normal List'->
> (
> (
> dialog newListFor: (ListModel new list: #('One' 'Two' 'Three'
> 'Four'); selectionIndex: 3) list: #list selected: #selectionIndex
> changeSelected: #selectionIndex:
> help: 'This is a list'
> )
> minWidth: 120
> ).
> }.
> }
> )
> vResizing: #spaceFill
> );
> model: nil.
> builder openModal: dialog.
>
March 31, 2012
Help with the interaction with widgets or morphs like Checkboxes, and Radio buttons and Texteditor boxes
by Nelson Pingitore
Hello Pharo Users. I am seeking help with the interaction with widgets or
morphs like Checkboxes, and Radio buttons and Texteditor boxes, I am
creating a User Settings Class to learn how to use Pharo. I copied some
core widgets from the UITheme exampleBasicControls. I would like to know,
starting with the code below, how to detect if the User has selected the
"Ok" or "Cancel" button in the lower right of the form, and then if the
user selects "Ok" how do I detect the state of the widgets (Checkboxes,
Radio buttons, or Texteditor), and save those states to instance variables?
|dialog builder radioModel treeModel CheckboxA|
builder := UITheme exampleBuilder.
dialog := (builder newPluggableDialogWindow: 'Example basic controls')
useDefaultOKCancelButton.
radioModel := ExampleRadioButtonModel new.
treeModel := ValueHolder new contents: TextStyle actualTextStyles
explorerContents.
dialog contentMorph:
(
(
dialog newRow:
{
dialog newLabelGroup:
{
'Normal Label'->(dialog newLabel: 'A Label').
'Normal Button'->(dialog newButtonFor: nil action: nil label: 'A
Button' help: 'This is a button').
'Default Button'->((dialog newButtonFor: nil action: nil label:
'Default Button' help: 'This is a default button') isDefault: true).
'Selected Button'->(dialog newButtonFor: (ValueHolder new contents:
true) getState: #contents
action: nil arguments: #() getEnabled: nil label: 'A Button' help:
'This is a selected button').
'Checkbox A'->(dialog newCheckboxFor: (ValueHolder new contents: true)
getSelected: #contents setSelected: #contents: label: 'A Checkbox'
help: 'This is a checkbox').
'Checkbox B'->(dialog newCheckboxFor: (ValueHolder new contents: true)
getSelected: #contents setSelected: #contents: label: 'A Checkbox'
help: 'This is a checkbox').
'Checkbox C'->(dialog newCheckboxFor: (ValueHolder new contents: true)
getSelected: #contents setSelected: #contents: label: 'A Checkbox'
help: 'This is a checkbox').
'Radio Buttons'->
(
(
dialog newColumn:
{
(dialog newRadioButtonFor: radioModel getSelected: #isLeft
setSelected: #beLeft label: 'Left' help: 'This is a radio buton').
(dialog newRadioButtonFor: radioModel getSelected: #isCenter
setSelected: #beCenter label: 'Center' help: 'This is a radio buton').
(dialog newRadioButtonFor: radioModel getSelected: #isRight
setSelected: #beRight label: 'Right' help: 'This is a radio buton')
}
)
vResizing: #shrinkWrap
).
'Text Entry'->(dialog newTextEntryFor: (ValueHolder new contents:
'Hello') getText: #contents setText: #contents: help: 'This is a text
entry').
'Slider'->(dialog newSliderFor: (ValueHolder new contents: 0.5)
getValue: #contents setValue: #contents: help: 'This is a slider').
'Bump Temp'->(dialog newTextEntryFor: (ValueHolder new contents: '75')
getText: #contents setText: #contents: help: 'This is the random shift').
}.
dialog newVerticalSeparator.
dialog newLabelGroup:
{
'Drop List'->(dialog newDropListFor: (ListModel new list: #('One'
'Two' 'Three' 'Four'))
list: #list getSelected: #selectionIndex setSelected:
#selectionIndex: help: 'This is a drop list').
'Normal List'->
(
(
dialog newListFor: (ListModel new list: #('One' 'Two' 'Three'
'Four'); selectionIndex: 3) list: #list selected: #selectionIndex
changeSelected: #selectionIndex:
help: 'This is a list'
)
minWidth: 120
).
}.
}
)
vResizing: #spaceFill
);
model: nil.
builder openModal: dialog.
March 31, 2012
Re: [Pharo-users] EXTERNAL: Re: Pharo Checkbox and Radio Button Questions
by Sean P. DeNigris
Benjamin Van Ryseghem-2 wrote
>
>> How do I detect if the user selected the OK or Cancel button?
>
It's not very intuitive. You set an object as the model and then specify a
callback like so:
dialog
model: self;
applyChangesSelector: #ok.
HTH,
Sean
--
View this message in context: http://forum.world.st/Re-EXTERNAL-Re-Pharo-Checkbox-and-Radio-Button-Questi…
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
March 30, 2012
Re: [Pharo-users] EXTERNAL: Re: Pharo Checkbox and Radio Button Questions
by Benjamin
On Mar 30, 2012, at 5:17 PM, Pingitore, Nelson wrote:
> Hi,
>
> Regarding the use of the following statement: dialog := (builder newPluggableDialogWindow: 'Example basic controls') useDefaultOKCancelButton.
>
> How do I detect if the user selected the OK or Cancel button?
>
> Your option provided below and listed here, puts an additional Ok button on the form. I am hoping to get instruction on capturing the user selection of the choices from the useDefaultOKCancelButton
>
> For defining your button, you use something like
> 'Ok'->(dialog newButtonFor: nil action: nil label: 'A Button' help: 'This is a button').
> if instead you specify something like
> 'Ok'->(dialog newButtonFor: model action: #okAction label: 'Ok' help: 'This is a button').
> Then when the button is clicked, the method okAction will be performed by model.
> Then it's up to you to implement the wanted behavior in this method.
>
>
> Thank you
>
>
>
> Nelson V. Pingitore Jr.
> Lockheed Martin Corporation
> Information Systems & Global Services
> Program Surveillance
> 410-279-2780
>
> From: Benjamin [mailto:benjamin.vanryseghem@gmail.com]
> Sent: Friday, March 30, 2012 9:27 AM
> To: Pingitore, Nelson
> Subject: Re: EXTERNAL: Re: Pharo Checkbox and Radio Button Questions
>
>
> On Mar 30, 2012, at 3:06 PM, Pingitore, Nelson wrote:
>
>
> Hi,
>
> Thank you for your reply. I Pharo is very exciting!
>
> I develop applications in Microsoftâs Visual Studio tools, using Visual Basic. For my example in Pharo, I am attempting to re-create a User Settings form via a Usersettings class in Pharo.
>
>
> Here is my code:
>
>
>
> |dialog builder radioModel treeModel|
> builder := UITheme exampleBuilder.
> dialog := (builder newPluggableDialogWindow: 'Example basic controls') useDefaultOKCancelButton.
> radioModel := ExampleRadioButtonModel new.
> treeModel := ValueHolder new contents: TextStyle actualTextStyles explorerContents.
> dialog contentMorph: ((dialog newRow:
> {
> dialog newLabelGroup:
> {
> 'Normal Label'->(dialog newLabel: 'A Label').
> 'Normal Button'->(dialog newButtonFor: nil action: nil label: 'A Button' help: 'This is a button').
> 'Default Button'->((dialog newButtonFor: nil action: nil label: 'Default Button' help: 'This is a default button') isDefault: true).
> 'Selected Button'->(dialog newButtonFor: (ValueHolder new contents: true) getState: #contents
> action: nil arguments: #() getEnabled: nil label: 'A Button' help: 'This is a selected button').
>
> 'Checkbox A'->(dialog newCheckboxFor: (ValueHolder new contents: true)
> getSelected: #contents setSelected: #contents: label: 'A Checkbox' help: 'This is a checkbox').
> 'Checkbox B'->(dialog newCheckboxFor: (ValueHolder new contents: true)
> getSelected: #contents setSelected: #contents: label: 'A Checkbox' help: 'This is a checkbox').
> 'Checkbox C'->(dialog newCheckboxFor: (ValueHolder new contents: true)
> getSelected: #contents setSelected: #contents: label: 'A Checkbox' help: 'This is a checkbox').
> 'Radio Buttons'->((dialog newColumn: {
> (dialog newRadioButtonFor: radioModel
> getSelected: #isLeft setSelected: #beLeft label: 'Left' help: 'This is a radio buton').
> ^^^^^^^^^
> Here is the selector of the method performed when this radio button.
> Then, in this method, you can store the state wanted :)
> Something like
>
> beLeft
>
> currentState = #left.
> blablabla....
>
>
>
> (dialog newRadioButtonFor: radioModel
> getSelected: #isCenter setSelected: #beCenter label: 'Center' help: 'This is a radio buton').
> (dialog newRadioButtonFor: radioModel
> getSelected: #isRight setSelected: #beRight label: 'Right' help: 'This is a radio buton')})
> vResizing: #shrinkWrap).
> 'Text Entry'->(dialog newTextEntryFor: (ValueHolder new contents: 'Hello')
> getText: #contents setText: #contents: help: 'This is a text entry').
>
> 'Slider'->(dialog newSliderFor: (ValueHolder new contents: 0.5)
> getValue: #contents setValue: #contents: help: 'This is a slider').
> }.
> dialog newVerticalSeparator.
> dialog newLabelGroup:
> {
> 'Drop List'->(dialog newDropListFor: (ListModel new list: #('One' 'Two' 'Three' 'Four'))
> list: #list getSelected: #selectionIndex setSelected: #selectionIndex: help: 'This is a drop list').
> 'Normal List'->((dialog newListFor: (ListModel new list: #('One' 'Two' 'Three' 'Four'); selectionIndex: 3)
> list: #list selected: #selectionIndex changeSelected: #selectionIndex:
> help: 'This is a list') minWidth: 120).
>
> }.
> })
> vResizing: #spaceFill);
> model: nil.
> builder openModal: dialog
> â---------------------------------------------------------------------------------------------------â
> This is an extract from the UITheme exampleBasicControls class
>
> My questions are related to capturing user selections:
>
> 1) How do I detect if the user selected âOkâ where I would want to save all of the user choices, or âCancelâ where the user choices are discarded?
>
> For defining your button, you use something like
> 'Ok'->(dialog newButtonFor: nil action: nil label: 'A Button' help: 'This is a button').
> if instead you specify something like
> 'Ok'->(dialog newButtonFor: model action: #okAction label: 'Ok' help: 'This is a button').
> Then when the button is clicked, the method okAction will be performed by model.
> Then it's up to you to implement the wanted behavior in this method.
>
> 2) How do I detect which Checkboxes are checked or unchecked?
> see the next point
>
> 3) How do I detect which Radio buttons are selected?
> see the comment I let in your code above
>
> Another solution is to store in an inst var all your widgets (radio buttons/checkboxes) and then when you press ok, iterate over those inst vars and see which ones are selected or not
>
> 4) How do I capture the Text Entry content?
>
> If you have a pointer to the text entry, just do
> myTextEntry text (or if it doesn't work, try getText instead)
>
>
> Do I need to add instance variables to store user selections? If so, how do I capture the user selections into those variables.
>
> I think you will have to.
>
>
> You're welcome,
>
> Ben
>
>
>
>
> Thanks
>
>
>
>
>
>
>
>
>
>
> Nelson V. Pingitore Jr.
> Lockheed Martin Corporation
> Information Systems & Global Services
> Program Surveillance
> 410-279-2780
>
> From: Benjamin [mailto:benjamin.vanryseghem@gmail.com]
> Sent: Friday, March 30, 2012 3:34 AM
> To: The Pingitore Family
> Cc: Pingitore, Nelson
> Subject: EXTERNAL: Re: Pharo Checkbox and Radio Button Questions
>
> Welcome among us :)
>
> I hope you will have a great time using Pharo :)
>
>
> Can you give me the code you are using as an example please ?
>
> There are at least two different ways to create such widgets, so if you want a better answer, I need more info :)
>
>
> Ben
>
> On Mar 30, 2012, at 6:28 AM, The Pingitore Family wrote:
>
>
>
> Hi,
>
> I am new to Pharo. Am looking at the UITheme exampleBasicControls. I can see how the Checkboxes and Radio buttons are displayed, But, how do I capture if the Checkbox has been checked and what its state is? Same for the Radio buttons - How do I discover which radio button is selected?
>
> Thank you for your time and advice
>
>
>
>
> ____________________________________________________________
> The New "Skinny" Fruit
> How This Strange 62-Cent African Fruit Is Making Americans Skinny.
> HLifestyles.com
>
>
March 30, 2012
Re: [Pharo-users] Append to file
by Sean P. DeNigris
Sven Van Caekenberghe wrote
>
> #setToEnd
>
Ha ha, thanks. Too late at night... I was expecting a mode for appending...
--
View this message in context: http://forum.world.st/Append-to-file-tp4517660p4519040.html
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
March 30, 2012
Re: [Pharo-users] Append to file
by Sven Van Caekenberghe
Sean,
Use:
#setToEnd
Sven
On 30 Mar 2012, at 03:38, Sean P. DeNigris wrote:
> I'm sure this is easy, but I can't figure it out. I tried a variety of
> things, most recently:
>
> FileStream oldFileNamed: logFile pathString do: [ :s | s nextPutAll:
> 'message to append' ].
>
> Thanks.
> Sean
>
> --
> View this message in context: http://forum.world.st/Append-to-file-tp4517660p4517660.html
> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
>
March 30, 2012
Append to file
by Sean P. DeNigris
I'm sure this is easy, but I can't figure it out. I tried a variety of
things, most recently:
FileStream oldFileNamed: logFile pathString do: [ :s | s nextPutAll:
'message to append' ].
Thanks.
Sean
--
View this message in context: http://forum.world.st/Append-to-file-tp4517660p4517660.html
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
March 30, 2012
20th International Smalltalk Joint Conference - Call for Contributions
by Marcus Denker
20th International Smalltalk Joint Conference - Call for Contributions
Gent, Belgium
August 27-31, 2012; Camp Smalltalk August 25-26
http://esug.org/Conferences/2012
This call includes:
1) Developers forum
2) Innovation Technology Award
3) International Workshop
4) Student Volunteer program
5) Free ESUG tickets program
----------------------------------------------------------------------
For the past 20 years, the European Smalltalk User Group (ESUG) has
organised the International Smalltalk Conference, a lively forum on
cutting edge software technologies that attract people from both
academia and industry for a whole week. The attendees are both
engineers using Smalltalk in business and students and teachers using
Smalltalk both for research and didactic purposes.
This year's edition of the largest European Smalltalk event will
include:
- The regular Smalltalk developers conference with
renowned invited speakers
- a Smalltalk camp that proved fruitful for interactions and
discussions (August 25-26)
- 9th edition of the Innovation Technology Awards where prizes
will be awarded to authors of best pieces of
Smalltalk-related projects
- IWST: an international workshop on Smalltalk and dynamic
languages
You can support the ESUG conference in many different ways:
- Sponsor the conference. New sponsoring packages are described
at http://www.esug.org/About/SupportESUG
- Submit a talk, a software or a paper to one of the events.
See below.
- Attend the conference. We'd like to beat the previous record
of attendance (170 people at
Amsterdam)!
- Students can get free registration and hosting if they enroll
into the the Student Volunteers program. See below.
1) Developers Forum: International Smalltalk Developers Conference
----------------------------------------------------------------------
This year we are looking for YOUR experience on using Smalltalk. In
addition, we are looking for tutorials. The list of topics includes,
but is not limited to the following:
- XP practices
- Development tools
- Experience reports
- Model driven development
- Web development
- Team management
- Meta-Modeling
- Security
- New libraries & frameworks
- Educational material
- Embedded systems and robotics
- SOA and Web services
- Interaction with other programming languages
Submissions due on 15 June 2012
Notification of acceptance on 25 June 2012
How to submit?
Pay attention: the places are limited so do not wait till the last
minute to apply. Prospective presenters should submit a request to
board(a)esug.org AND damien.cassou(a)gmail.com AND
stephane.ducasse(a)free.fr following the template below. Please use this
template since the emails will be automatically processed!
Subject: [ESUG 2012 Developers] + your name
First Name:
Last Name:
Email where you can always be reached:
Title:
Abstract: (max 1400 characters)
Bio: (max 1400 characters)
Any presentation not respecting this form will be discarded
automatically
2) Innovation Technology Award
----------------------------------------------------------------------
We are proud to announce the 9th Innovation Technology Awards. The top
3 teams with the most innovative software will receive, respectively,
500 Euros, 300 Euros and 200 Euros during an awards ceremony at the
conference. Developers of any Smalltalk-based software are welcome to
compete. This year we will request 3-5min videos.
More information at:
http://www.esug.org/Conferences/2012/Innovation-Technology-Awards
3) International Workshop - IWST 2012
----------------------------------------------------------------------
International Workshop on Smalltalk Technologies, August 28
The goals of the workshop is to create a forum around advances or
experience in Smalltalk and to trigger discussions and exchanges of
ideas. Participants are invited to submit research articles. We will
not enforce any length restriction. Nevertheless, we expect papers of
two kinds:
- Short position papers describing emerging ideas.
- Long research papers with deeper description of experiments and of
research results.
We welcome research papers on all aspects, theoretical as well as
practical, of Smalltalk related topics. All accepted papers will be
published in ACM DL, and the authors of the best papers will be
invited to submit an extended version to a journal special issue (to
be confirmed).
Submissions deadline: June 15, 2012
Notification of acceptance: July 15, 2012
More information at:
http://www.esug.org/Conferences/2012/International-Workshop---IWST-2012
4) Student Volunteer Program
----------------------------------------------------------------------
If you are a student wanting to attend ESUG, have you considered being
a student volunteer? Student volunteers help keep the conference
running smoothly; in return, they have free accommodations, while
still having most of the time to enjoy the conference.
More information at:
http://www.esug.org/Conferences/2012/StudentVolunteers
5) Free ESUG tickets program
----------------------------------------------------------------------
ESUG will offer 10 free entrance tickets. To get a free ticket you
should send a mail to board(a)esug.org
Subject: [ESUG 2012 Free entrance] + your name
And you should write a small motivation.
We hope to see you there and have fun together.
--
The ESUG board
Board mailing list: board(a)lists.esug.org
March 29, 2012
Re: [Pharo-users] Questions about JNIPort and CallBacks
by Joachim Geidel
Hi Muriel,
>I work in VisualWorks and I use JNIPort to interact with Java.
>I try to search a forum about this subject but I don't find, so I
>contact you because I can see all my java Object but I want to do
>callback on Smalltalk
>object.
In VisualWorks, JNIPort supports callbacks from Java to Smalltalk,
including callbacks coming from another operating system thread (a
"foreign thread"). However, it is relatively complicated to install a
callback.
The complication comes from the fact that JNIPort was originally developed
for Dolphin Smalltalk, where the handling of callbacks from external
libraries is such that it can easily lead to deadlocks in Smalltalk.
VisualWorks implements callbacks from external libraries differently, and
some of the complications could probably be dismissed. Unfortunately, I
never had the time to simplify the current implementation of callbacks in
JNIPort for VisualWorks.
There is some documentation about using callbacks in the JNIPort
documentation which is contained in the file attachment JNIPort_Docs.zip
of the JNIPort bundle. You can read this only at Chris Uppal's web site:
http://www.metagnostic.org/DolphinSmalltalk/JNIPort/callbacks.html
http://www.metagnostic.org/DolphinSmalltalk/JNIPort/callback-example-1.html
Don't take the hints to the "problem with threads" in the documentation
too seriously, they apply to Dolphin Smalltalk only AFAICT. The source
code of the examples is in the file attachment JNIPort_Extras.zip of the
JNIPort bundle. It is in the archive JNIPort-Tests.zip, file
TreeModelExample.java.
If you don't have the file attachments of the JNIPort bundle, you can
either download them from the Download page of the JNIPort wiki at
http://jniport.wikispaces.com, or load the bundle from the Cincom Public
Repository. They should also be in the contributed/JNIPort subdirectory of
the VisualWorks installation.
HTH,
Joachim
March 29, 2012