Pharo-users
By thread
pharo-users@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- August
- 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
- 7 participants
- 50354 messages
Re: [Pharo-users] Tabular: XLSX import
by ЮÑий ÐиÑоненко
>
> I see that you implement a SAXparser. Could you please elaborate a
> bit why the one in the XML-Parser package does not do the job?
>
SAXParser from Tabular is a subclass of one from XML-Parser. It just make
the job even easier - it handles "registered" elements so you can define
methods like #sheet_start:, #sheet_end, #sheet_characters: (for <sheet> tag
as an example) instead of "generic" #startElement:with:, #endElement: and
#characters:
It makes the crafting of the XML parsers really easy and fluent.
By the way, this part is described in the comments to TabularSAXParser,
unlike most of the other mechanics :)
I assume you have three classes to accommodate for FLAT ODT and HTML
> import later.
>
> Maybe there should only be two classes at the moment until the latter
> will be realized.
>
Well, situation is: when Vincent started his job, he incorporates XLSX
importer code deeply into Model. He also restructured the Model classes, so
it becomes something like XLSXModel instead of "generic spreadsheets" model.
Adding this placeholder classes was an easy and intuitive way to prevent
such a de-generalisation in future. If you see this classes, you will easy
understand, for example, that "shared strings" should be resolved when you
reading your XLSX into model. Just because "shared strings" is XLSX
specific feature, HTML tables have no any shared strings :)
2015-08-08 13:23 GMT+03:00 H. Hirzel <hannes.hirzel(a)gmail.com>:
> Thank you. I am using Pharo 4.0.
>
> I see that you implement a SAXparser. Could you please elaborate a
> bit why the one in the XML-Parser package does not do the job?
>
> --Hannes
>
> On 8/8/15, Vincent BLONDEAU <vincent.blondeau(a)polytech-lille.net> wrote:
> > Hi,
> >
> > I added the dependencies to PharoExtras/XMLWriter and XMLParser.
> > I didn't add the dependencies before because I used Tabular with Moose,
> and
> > Moose already loads these dependencies...
> >
> > Now it should work. I created the new 0.2 release with the required
> > dependencies.
> >
> > By the way, I used Versionner to create the configuration. I don't know
> if
> > there is a documentation but there is a video:
> > https://www.youtube.com/watch?v=cFRJDuWL-Q0
> >
> > It is a very fast tool to manage your projects!
> >
> > If your are using at least Pharo 4.0, you can use the catalog browser to
> > load the ConfigurationOfTabular directly.
> >
> > Best,
> > Vincent
> >
> > -----Message d'origine-----
> > De : Pharo-users [mailto:pharo-users-bounces@lists.pharo.org] De la
> part de
> > H. Hirzel
> > Envoyé : samedi 8 août 2015 10:34
> > Ã : Any question about pharo is welcome
> > Objet : Re: [Pharo-users] Tabular: XLSX import
> >
> > If I do
> >
> > ConfigurationOfXMLWriter load
> >
> > then
> >
> > TabularExperimentalExport writeTestFile
> >
> > is fine generating an Excel file.
> >
> > http://ss3.gemtalksystems.com/ss/Tabular/Tabular-HannesHirzel.27.mcz
> >
> > I am currently exploring the code and trying to figure out how it works.
> >
> > --Hannes
> >
> > On 8/8/15, H. Hirzel <hannes.hirzel(a)gmail.com> wrote:
> >> I understand that ЮÑий ÐиÑоненко asks how to construct his
> >> ConfigurationOfTabular file
> >>
> >> http://ss3.gemtalksystems.com/ss/Tabular.html
> >>
> >> So I pointed him to the Pharo By Examples book 2 Chapter 9 Managing
> >> Projects with Metacello
> >>
> >>
> >> The Tabular project needs a XMLWriter class. I assume the regular
> >> pharoExtras is fine. I do not know.
> >>
> >> I am just looking at the code to see how the reading and writing of
> >> MSOffice files, Excel in this particular case, is done so far.
> >>
> >> For reading a TabularSAXParser is included in the package. Probably
> >> not necessary.
> >>
> >> I moved it out here
> >> http://ss3.gemtalksystems.com/ss/Tabular/Tabular-HannesHirzel.26.mcz
> >>
> >> Hannes
> >>
> >>
> >>
> >> On 8/8/15, stepharo <stepharo(a)free.fr> wrote:
> >>>
> >>>
> >>> Le 8/8/15 09:11, H. Hirzel a écrit :
> >>>> What about
> >>>> http://rmod.lille.inria.fr/deepIntoPharo/index.html
> >>>>
> >>>> p. 163 depending on a project without Metacello description p. 164,
> >>>> depending on a project with a Metacello configuration
> >>>>
> >>>> In the mean time just a note that Tabular needs XMLParser and
> >>>> XMLWriter packages on http://ss3.gemtalksystems.com/ss/Tabular.html.
> >>>
> >>> are you implying that there is no expression of dependencies and that
> >>> in addition it depend on a different XML Parser/Writer than
> >>> pharoExtras ones?
> >>>
> >>> Stef
> >>>>
> >>>> Some class comments are welcome as well :-)
> >>>>
> >>>> I understand that I can read Excel files and that you just started
> >>>> to check out how to write them?
> >>>>
> >>>> --Hannes
> >>>>
> >>>> On 8/4/15, ЮÑий ÐиÑоненко <assargaddon(a)gmail.com> wrote:
> >>>>> Thank you Vincent.
> >>>>> Some things is much clearer for me now.
> >>>>>
> >>>>> *It's shame on me that I lost all this Metacello progress,
> >>>>> especially taking into account I was on the ESUG conference where
> >>>>> it was presented.
> >>>>> It
> >>>>> was my only conference unfortunately.*
> >>>>>
> >>>>> I see that you already started this job: you added
> >>>>> ConfigurationOfTabular.
> >>>>> What I really want to do with this configuration: add dependencies
> >>>>> to XMLParser and XMLWriter packages. Can you help with this, please?
> >>>>>
> >>>>> 2015-08-04 17:19 GMT+03:00 Blondeau Vincent
> >>>>> <vincent.blondeau(a)worldline.com>
> >>>>> :
> >>>>>
> >>>>>> Hi,
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>> To add a configuration in the catalog, first you should have a
> >>>>>> configuration for your project. You can create it with the
> >>>>>> versionner if needed.
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>> Second, you have to add some methods adding meta-description to
> >>>>>> your project. The versionner do it for you: in the configuration
> >>>>>> list, select your project, do a right click and select add catalog
> >>>>>> methods.
> >>>>>>
> >>>>>> It creates all the mandatory methods for the catalog. You now have
> >>>>>> to fill them (look at the class side of the configuration).
> >>>>>>
> >>>>>> Finally, commit your configuration on your repo and on the
> >>>>>> MetaRepoForPharo30/40/50 depending where your project is working.
> >>>>>>
> >>>>>> The link is here:
> >>>>>> http://smalltalkhub.com/#!/~Pharo/MetaRepoForPharo50
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>> Once published, your project will be in the catalog in the image
> >>>>>> (Tools>catalog browser) and on the web http://catalog.pharo.org/.
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>> Tell me if you need help to do it,
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>> Cheers,
> >>>>>>
> >>>>>> Vincent
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>> *De :* Pharo-users [mailto:pharo-users-bounces@lists.pharo.org]
> >>>>>> *De la part de* ???? ?????????
> >>>>>> *Envoyé :* dimanche 2 août 2015 10:25 *à :* Any question about
> >>>>>> pharo is welcome *Objet :* Re: [Pharo-users] Tabular: XLSX import
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>> It looks like I need some guidance to understand contemporary
> >>>>>> packaging/deployment/versioning system. I know it exists, but I
> >>>>>> don't know details. Can you kick me in the right direction? Maybe
> >>>>>> some link?
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>> 2015-08-02 11:21 GMT+03:00 Esteban Lorenzano <estebanlm(a)gmail.com>:
> >>>>>>
> >>>>>> Hi,
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>> it would be sooo cool to have a configuration in the catalogâ¦
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>> Esteban
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>> On 01 Aug 2015, at 20:58, ЮÑий ÐиÑоненко <assargaddon(a)gmail.com>
> >>>>>> wrote:
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>> Hello.
> >>>>>>
> >>>>>> Some time ago I announced Tabular
> >>>>>> <http://ss3.gemtalksystems.com/ss/Tabular.html>, some effort to
> >>>>>> make a tool for spreadsheets import/export.
> >>>>>>
> >>>>>>
> >>>>>> This is short notice: Vincent Blondeau have added XLSX import
> >>>>>> functionality!
> >>>>>> It's also mostly proof-of-concept now, but even at this stage it's
> >>>>>> quite usable.
> >>>>>>
> >>>>>> Thanks, Vincent!
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>> ------------------------------
> >>>>>>
> >>>>>> Ce message et les pièces jointes sont confidentiels et réservés Ã
> >>>>>> l'usage exclusif de ses destinataires. Il peut également être
> >>>>>> protégé par le secret professionnel. Si vous recevez ce message
> >>>>>> par erreur, merci d'en avertir immédiatement l'expéditeur et de le
> >>>>>> détruire. L'intégrité du message ne pouvant être assurée sur
> >>>>>> Internet, la responsabilité de Worldline ne pourra être recherchée
> >>>>>> quant au contenu de ce message. Bien que les meilleurs efforts
> >>>>>> soient faits pour maintenir cette transmission exempte de tout
> >>>>>> virus, l'expéditeur ne donne aucune garantie à cet égard et sa
> >>>>>> responsabilité ne saurait être recherchée pour tout dommage
> >>>>>> résultant d'un virus transmis.
> >>>>>>
> >>>>>> This e-mail and the documents attached are confidential and
> >>>>>> intended solely for the addressee; it may also be privileged. If
> >>>>>> you receive this e-mail in error, please notify the sender
> >>>>>> immediately and destroy it.
> >>>>>> As
> >>>>>> its integrity cannot be secured on the Internet, the Worldline
> >>>>>> liability cannot be triggered for the message content. Although
> >>>>>> the sender endeavours to maintain a computer virus-free network,
> >>>>>> the sender does not warrant that this transmission is virus-free
> >>>>>> and will not be liable for any damages resulting from any virus
> >>>>>> transmitted.
> >>>>>>
> >>>>
> >>>
> >>>
> >>>
> >>
> >
> >
> >
> >
>
>
Aug. 9, 2015
Re: [Pharo-users] Tabular: XLSX import
by ЮÑий ÐиÑоненко
>
> What about
> http://rmod.lille.inria.fr/deepIntoPharo/index.html
>
> p. 163 depending on a project without Metacello description
> p. 164, depending on a project with a Metacello configuration
>
Thank you, Hannes, it's very useful.
are you implying that there is no expression of dependencies and that in
> addition it depend on a different XML Parser/Writer than pharoExtras ones?
>
No, Stef, it just means that I somehow missed all the Metacello progress.
Which is definitely a shame on me.
The Tabular project needs a XMLWriter class. I assume the regular
> pharoExtras is fine. I do not know.
>
Yes, it is. I just have loaded one from catalog.
I added the dependencies to PharoExtras/XMLWriter and XMLParser.
> ...
> Now it should work. I created the new 0.2 release with the required
> dependencies.
>
It's very good and this is exactly what I have asked about - thank you very
much!
By the way, I used Versionner to create the configuration. I don't know if
> there is a documentation but there is a video:
> https://www.youtube.com/watch?v=cFRJDuWL-Q0
>
Thank you for this video, too.
I definitely should upgrade my Pharo skills to contemporary situation - I
stuck somewhere in 2.8 at pre-metacello times.
2015-08-08 15:04 GMT+03:00 H. Hirzel <hannes.hirzel(a)gmail.com>:
> Found the public API:
>
> XLSXImporter import: aReadStream
>
> XLSXImporterTest>>
> setUp
> | rstr |
> rstr := TabularResources testExcelSheet readStream.
> workbook := XLSXImporter import: rstr
>
> And added it in the comment:
>
> http://ss3.gemtalksystems.com/ss/Tabular/Tabular-HannesHirzel.32.mcz
>
> On 8/8/15, H. Hirzel <hannes.hirzel(a)gmail.com> wrote:
> > The screenshot illustrates what I mean.
> > http://ss3.gemtalksystems.com/ss/Tabular/Tabular-HannesHirzel.30.mcz
> >
> > I assume you have three classes to accommodate for FLAT ODT and HTML
> > import later.
> >
> > Maybe there should only be two classes at the moment until the latter
> > will be realized.
> >
> > What do you consider to be the public API of class XLSXImporter?
> >
> > --Hannes
> >
> > On 8/8/15, H. Hirzel <hannes.hirzel(a)gmail.com> wrote:
> >> Another small request: Could you please comment the importer classes
> >> which currently work. This is to distinguish them from those which are
> >> there as place-holders for future extension. This makes it easier to
> >> read you code.
> >>
> >> --Hanne
> >>
> >> On 8/8/15, H. Hirzel <hannes.hirzel(a)gmail.com> wrote:
> >>> Thank you. I am using Pharo 4.0.
> >>>
> >>> I see that you implement a SAXparser. Could you please elaborate a
> >>> bit why the one in the XML-Parser package does not do the job?
> >>>
> >>> --Hannes
> >>>
> >>> On 8/8/15, Vincent BLONDEAU <vincent.blondeau(a)polytech-lille.net>
> wrote:
> >>>> Hi,
> >>>>
> >>>> I added the dependencies to PharoExtras/XMLWriter and XMLParser.
> >>>> I didn't add the dependencies before because I used Tabular with
> Moose,
> >>>> and
> >>>> Moose already loads these dependencies...
> >>>>
> >>>> Now it should work. I created the new 0.2 release with the required
> >>>> dependencies.
> >>>>
> >>>> By the way, I used Versionner to create the configuration. I don't
> know
> >>>> if
> >>>> there is a documentation but there is a video:
> >>>> https://www.youtube.com/watch?v=cFRJDuWL-Q0
> >>>>
> >>>> It is a very fast tool to manage your projects!
> >>>>
> >>>> If your are using at least Pharo 4.0, you can use the catalog browser
> >>>> to
> >>>> load the ConfigurationOfTabular directly.
> >>>>
> >>>> Best,
> >>>> Vincent
> >>>>
> >>>> -----Message d'origine-----
> >>>> De : Pharo-users [mailto:pharo-users-bounces@lists.pharo.org] De la
> >>>> part
> >>>> de
> >>>> H. Hirzel
> >>>> Envoyé : samedi 8 août 2015 10:34
> >>>> Ã : Any question about pharo is welcome
> >>>> Objet : Re: [Pharo-users] Tabular: XLSX import
> >>>>
> >>>> If I do
> >>>>
> >>>> ConfigurationOfXMLWriter load
> >>>>
> >>>> then
> >>>>
> >>>> TabularExperimentalExport writeTestFile
> >>>>
> >>>> is fine generating an Excel file.
> >>>>
> >>>>
> http://ss3.gemtalksystems.com/ss/Tabular/Tabular-HannesHirzel.27.mcz
> >>>>
> >>>> I am currently exploring the code and trying to figure out how it
> >>>> works.
> >>>>
> >>>> --Hannes
> >>>>
> >>>> On 8/8/15, H. Hirzel <hannes.hirzel(a)gmail.com> wrote:
> >>>>> I understand that ЮÑий ÐиÑоненко asks how to construct his
> >>>>> ConfigurationOfTabular file
> >>>>>
> >>>>> http://ss3.gemtalksystems.com/ss/Tabular.html
> >>>>>
> >>>>> So I pointed him to the Pharo By Examples book 2 Chapter 9 Managing
> >>>>> Projects with Metacello
> >>>>>
> >>>>>
> >>>>> The Tabular project needs a XMLWriter class. I assume the regular
> >>>>> pharoExtras is fine. I do not know.
> >>>>>
> >>>>> I am just looking at the code to see how the reading and writing of
> >>>>> MSOffice files, Excel in this particular case, is done so far.
> >>>>>
> >>>>> For reading a TabularSAXParser is included in the package. Probably
> >>>>> not necessary.
> >>>>>
> >>>>> I moved it out here
> >>>>> http://ss3.gemtalksystems.com/ss/Tabular/Tabular-HannesHirzel.26.mcz
> >>>>>
> >>>>> Hannes
> >>>>>
> >>>>>
> >>>>>
> >>>>> On 8/8/15, stepharo <stepharo(a)free.fr> wrote:
> >>>>>>
> >>>>>>
> >>>>>> Le 8/8/15 09:11, H. Hirzel a écrit :
> >>>>>>> What about
> >>>>>>> http://rmod.lille.inria.fr/deepIntoPharo/index.html
> >>>>>>>
> >>>>>>> p. 163 depending on a project without Metacello description p. 164,
> >>>>>>> depending on a project with a Metacello configuration
> >>>>>>>
> >>>>>>> In the mean time just a note that Tabular needs XMLParser and
> >>>>>>> XMLWriter packages on
> http://ss3.gemtalksystems.com/ss/Tabular.html.
> >>>>>>
> >>>>>> are you implying that there is no expression of dependencies and
> that
> >>>>>> in addition it depend on a different XML Parser/Writer than
> >>>>>> pharoExtras ones?
> >>>>>>
> >>>>>> Stef
> >>>>>>>
> >>>>>>> Some class comments are welcome as well :-)
> >>>>>>>
> >>>>>>> I understand that I can read Excel files and that you just started
> >>>>>>> to check out how to write them?
> >>>>>>>
> >>>>>>> --Hannes
> >>>>>>>
> >>>>>>> On 8/4/15, ЮÑий ÐиÑоненко <assargaddon(a)gmail.com> wrote:
> >>>>>>>> Thank you Vincent.
> >>>>>>>> Some things is much clearer for me now.
> >>>>>>>>
> >>>>>>>> *It's shame on me that I lost all this Metacello progress,
> >>>>>>>> especially taking into account I was on the ESUG conference where
> >>>>>>>> it was presented.
> >>>>>>>> It
> >>>>>>>> was my only conference unfortunately.*
> >>>>>>>>
> >>>>>>>> I see that you already started this job: you added
> >>>>>>>> ConfigurationOfTabular.
> >>>>>>>> What I really want to do with this configuration: add dependencies
> >>>>>>>> to XMLParser and XMLWriter packages. Can you help with this,
> >>>>>>>> please?
> >>>>>>>>
> >>>>>>>> 2015-08-04 17:19 GMT+03:00 Blondeau Vincent
> >>>>>>>> <vincent.blondeau(a)worldline.com>
> >>>>>>>> :
> >>>>>>>>
> >>>>>>>>> Hi,
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> To add a configuration in the catalog, first you should have a
> >>>>>>>>> configuration for your project. You can create it with the
> >>>>>>>>> versionner if needed.
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> Second, you have to add some methods adding meta-description to
> >>>>>>>>> your project. The versionner do it for you: in the configuration
> >>>>>>>>> list, select your project, do a right click and select add
> catalog
> >>>>>>>>> methods.
> >>>>>>>>>
> >>>>>>>>> It creates all the mandatory methods for the catalog. You now
> have
> >>>>>>>>> to fill them (look at the class side of the configuration).
> >>>>>>>>>
> >>>>>>>>> Finally, commit your configuration on your repo and on the
> >>>>>>>>> MetaRepoForPharo30/40/50 depending where your project is working.
> >>>>>>>>>
> >>>>>>>>> The link is here:
> >>>>>>>>> http://smalltalkhub.com/#!/~Pharo/MetaRepoForPharo50
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> Once published, your project will be in the catalog in the image
> >>>>>>>>> (Tools>catalog browser) and on the web http://catalog.pharo.org/
> .
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> Tell me if you need help to do it,
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> Cheers,
> >>>>>>>>>
> >>>>>>>>> Vincent
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> *De :* Pharo-users [mailto:pharo-users-bounces@lists.pharo.org]
> >>>>>>>>> *De la part de* ???? ?????????
> >>>>>>>>> *Envoyé :* dimanche 2 août 2015 10:25 *à :* Any question about
> >>>>>>>>> pharo is welcome *Objet :* Re: [Pharo-users] Tabular: XLSX import
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> It looks like I need some guidance to understand contemporary
> >>>>>>>>> packaging/deployment/versioning system. I know it exists, but I
> >>>>>>>>> don't know details. Can you kick me in the right direction? Maybe
> >>>>>>>>> some link?
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> 2015-08-02 11:21 GMT+03:00 Esteban Lorenzano
> >>>>>>>>> <estebanlm(a)gmail.com>:
> >>>>>>>>>
> >>>>>>>>> Hi,
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> it would be sooo cool to have a configuration in the catalogâ¦
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> Esteban
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> On 01 Aug 2015, at 20:58, ЮÑий ÐиÑоненко <assargaddon(a)gmail.com>
> >>>>>>>>> wrote:
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> Hello.
> >>>>>>>>>
> >>>>>>>>> Some time ago I announced Tabular
> >>>>>>>>> <http://ss3.gemtalksystems.com/ss/Tabular.html>, some effort to
> >>>>>>>>> make a tool for spreadsheets import/export.
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> This is short notice: Vincent Blondeau have added XLSX import
> >>>>>>>>> functionality!
> >>>>>>>>> It's also mostly proof-of-concept now, but even at this stage
> it's
> >>>>>>>>> quite usable.
> >>>>>>>>>
> >>>>>>>>> Thanks, Vincent!
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> ------------------------------
> >>>>>>>>>
> >>>>>>>>> Ce message et les pièces jointes sont confidentiels et réservés Ã
> >>>>>>>>> l'usage exclusif de ses destinataires. Il peut également être
> >>>>>>>>> protégé par le secret professionnel. Si vous recevez ce message
> >>>>>>>>> par erreur, merci d'en avertir immédiatement l'expéditeur et de
> le
> >>>>>>>>> détruire. L'intégrité du message ne pouvant être assurée sur
> >>>>>>>>> Internet, la responsabilité de Worldline ne pourra être
> recherchée
> >>>>>>>>> quant au contenu de ce message. Bien que les meilleurs efforts
> >>>>>>>>> soient faits pour maintenir cette transmission exempte de tout
> >>>>>>>>> virus, l'expéditeur ne donne aucune garantie à cet égard et sa
> >>>>>>>>> responsabilité ne saurait être recherchée pour tout dommage
> >>>>>>>>> résultant d'un virus transmis.
> >>>>>>>>>
> >>>>>>>>> This e-mail and the documents attached are confidential and
> >>>>>>>>> intended solely for the addressee; it may also be privileged. If
> >>>>>>>>> you receive this e-mail in error, please notify the sender
> >>>>>>>>> immediately and destroy it.
> >>>>>>>>> As
> >>>>>>>>> its integrity cannot be secured on the Internet, the Worldline
> >>>>>>>>> liability cannot be triggered for the message content. Although
> >>>>>>>>> the sender endeavours to maintain a computer virus-free network,
> >>>>>>>>> the sender does not warrant that this transmission is virus-free
> >>>>>>>>> and will not be liable for any damages resulting from any virus
> >>>>>>>>> transmitted.
> >>>>>>>>>
> >>>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>
> >>>>
> >>>>
> >>>>
> >>>>
> >>>
> >>
> >
>
>
Aug. 9, 2015
Re: [Pharo-users] gettings real senders
by Mariano Martinez Peck
What I do in that case is that I select the text "WriteStream on:" and
"method source with it". But of course, a class side search would be nice.
On Sat, Aug 8, 2015 at 10:07 PM, Ben Coman <btc(a)openinworld.com> wrote:
> On Sun, Aug 9, 2015 at 3:25 AM, Peter Uhnák <i.uhnak(a)gmail.com> wrote:
> > So there's method CompiledMethod>>senders,
> > but the problem is that it just looks for the message symbol and not
> class.
> >
> > so for example:
> > ~~~~~~~~~~~~~~~~~~~~~
> > (WriteStream>>on:) senders
> > ~~~~~~~~~~~~~~~~~~~~~
> > will also include Object>>asBrick
> >
> > Object>>asBrick
> > ^ GLMMorphBrick on: self asMorph
> >
> > because it sends #on: even though it's on completely different object.
> >
> > Now I understand that this is a dynamic system, so I will never have all
> > senders, but this should be resolvable even through static analysis?
> >
> > So now my question is: Is there an easy way to retrieve the object to
> which
> > the selector is sent?
> > I can use "CompiledMethod>>messages", but that just returns "a
> Set(#asMorph
> > #on:)" which is useless here.
> >
> > So do I need to traverse the AST and find it there?
>
> You can't search invocations of a particular "class>>method". You can
> only search invocations of a "message" unbound from any class. You
> can constrain your senders to search to particular packages, but that
> requires pre-knowledge and may not suit all cases. In some cases I
> find adding the following useful...
>
> WriteStream>>on:
> Transcript crShow: thisContext senders senders printString ,
> '-->' , thisContext senders printString ,
> thisContext printString.
> ....
>
> cheers -ben
>
>
--
Mariano
http://marianopeck.wordpress.com
Aug. 9, 2015
Re: [Pharo-users] direct image code exchange
by Juraj Kubelka
Hi Offray,
interesting use case. I can see that Etherpad uses colors to emphasize author of each line (character). Is it important? Why?
(I understand Spanish.)
Cheers,
Juraj
> 8. 8. 2015 v 19:44, Offray Vladimir Luna Cárdenas <offray(a)riseup.net>:
>
> Hi Juraj,
>
> At the last data week and in the workshops, we have an interesting user case: sharing code snippets between assistants to the workshop. For that we setup an Etherpad at the beginning of the workshop where we share notes and code snippets by their url on http://ws.stfx.eu <http://ws.stfx.eu/>. This has worked pretty fine and the only thing I can think for an improvement would be having something like "ethepads" inside the Pharo Image, allowing participants to write collaboratively docs and scripts inside Pharo. You can see and examples of such case of use here:
>
> http://mutabit.com/deltas/repos.fossil/dataweek/home <http://mutabit.com/deltas/repos.fossil/dataweek/home>
>
> (mostly in Spanish but the use of Etherpads and published playgrounds is understandable).
>
> Cheers,
>
> Offray
>
> On 07/08/15 08:23, Juraj Kubelka wrote:
>> Hi!
>>
>> It is great that people are interested in sharing information between images. GTChatter was the first try and we will come with a new solution.
>>
>> What is the most urgent information you want to share between images? Source code?
>> I am curious about your use cases: Do you want to share information between images on the same computer? Between your computers? Between co-workers?
>>
>> Cheers,
>> Juraj
>>
>>> On Aug 7, 2015, at 03:58, Peter Uhnák < <mailto:i.uhnak@gmail.com>i.uhnak(a)gmail.com <mailto:i.uhnak@gmail.com>> wrote:
>>>
>>> On PharoDays, there was a demo of GTChatter ( https://youtu.be/Nmcou_5um2s?t=22m18s <https://youtu.be/Nmcou_5um2s?t=22m18s> ), but it was just prototype, I don't think it's currently being developed. But maybe it could serve as a bases for code sharing between images/users.
>>>
>>> If anything you could simply push your code to http://ws.stfx.eu/ <http://ws.stfx.eu/> (Playground can do that with a button), and then paste the link through GTSpotter to the other user. If you paste that link into GTSpotter, it automatically offers you the option to open playground on it (eg. try pasting into GTSpotter <http://ws.stfx.eu/923KR0YD1BRU>http://ws.stfx.eu/923KR0YD1BRU <http://ws.stfx.eu/923KR0YD1BRU> ).
>>>
>>> Peter
>>>
>>> On Fri, Aug 7, 2015 at 12:45 AM, Sebastian Heidbrink < <mailto:sheidev@yahoo.de>sheidev(a)yahoo.de <mailto:sheidev@yahoo.de>> wrote:
>>> Hi Sven,
>>>
>>> thank you! I will check it out.
>>> I'll have such situation more and more often.
>>> I'll let you know when I might have extended the code by some addons
>>>
>>> Sebastian
>>>
>>>
>>> On 2015-08-06 3:26 PM, Sven Van Caekenberghe wrote:
>>> On 07 Aug 2015, at 00:13, Sebastian Heidbrink <sheidev(a)yahoo.de <mailto:sheidev@yahoo.de>> wrote:
>>>
>>> Is there a in-image monticello server available that would mimic a repository server?
>>> Yes, it is called ZnMonticelloServerDelegate - it is meant as an example, but it works.
>>>
>>>
>>>
>>>
>>
>
Aug. 9, 2015
Re: [Pharo-users] gettings real senders
by Ben Coman
On Sun, Aug 9, 2015 at 3:25 AM, Peter Uhnák <i.uhnak(a)gmail.com> wrote:
> So there's method CompiledMethod>>senders,
> but the problem is that it just looks for the message symbol and not class.
>
> so for example:
> ~~~~~~~~~~~~~~~~~~~~~
> (WriteStream>>on:) senders
> ~~~~~~~~~~~~~~~~~~~~~
> will also include Object>>asBrick
>
> Object>>asBrick
> ^ GLMMorphBrick on: self asMorph
>
> because it sends #on: even though it's on completely different object.
>
> Now I understand that this is a dynamic system, so I will never have all
> senders, but this should be resolvable even through static analysis?
>
> So now my question is: Is there an easy way to retrieve the object to which
> the selector is sent?
> I can use "CompiledMethod>>messages", but that just returns "a Set(#asMorph
> #on:)" which is useless here.
>
> So do I need to traverse the AST and find it there?
You can't search invocations of a particular "class>>method". You can
only search invocations of a "message" unbound from any class. You
can constrain your senders to search to particular packages, but that
requires pre-knowledge and may not suit all cases. In some cases I
find adding the following useful...
WriteStream>>on:
Transcript crShow: thisContext senders senders printString ,
'-->' , thisContext senders printString ,
thisContext printString.
....
cheers -ben
Aug. 9, 2015
Re: [Pharo-users] direct image code exchange
by Offray Vladimir Luna Cárdenas
Hi Juraj,
At the last data week and in the workshops, we have an interesting user
case: sharing code snippets between assistants to the workshop. For that
we setup an Etherpad at the beginning of the workshop where we share
notes and code snippets by their url on http://ws.stfx.eu. This has
worked pretty fine and the only thing I can think for an improvement
would be having something like "ethepads" inside the Pharo Image,
allowing participants to write collaboratively docs and scripts inside
Pharo. You can see and examples of such case of use here:
http://mutabit.com/deltas/repos.fossil/dataweek/home
(mostly in Spanish but the use of Etherpads and published playgrounds is
understandable).
Cheers,
Offray
On 07/08/15 08:23, Juraj Kubelka wrote:
> Hi!
>
> It is great that people are interested in sharing information between
> images. GTChatter was the first try and we will come with a new solution.
>
> What is the most urgent information you want to share between images?
> Source code?
> I am curious about your use cases: Do you want to share information
> between images on the same computer? Between your computers? Between
> co-workers?
>
> Cheers,
> Juraj
>
>> On Aug 7, 2015, at 03:58, Peter Uhnák <i.uhnak(a)gmail.com
>> <mailto:i.uhnak@gmail.com>> wrote:
>>
>> On PharoDays, there was a demo of GTChatter (
>> https://youtu.be/Nmcou_5um2s?t=22m18s ), but it was just prototype, I
>> don't think it's currently being developed. But maybe it could serve
>> as a bases for code sharing between images/users.
>>
>> If anything you could simply push your code to http://ws.stfx.eu/
>> (Playground can do that with a button), and then paste the link
>> through GTSpotter to the other user. If you paste that link into
>> GTSpotter, it automatically offers you the option to open playground
>> on it (eg. try pasting into GTSpotter http://ws.stfx.eu/923KR0YD1BRU ).
>>
>> Peter
>>
>> On Fri, Aug 7, 2015 at 12:45 AM, Sebastian Heidbrink
>> <sheidev(a)yahoo.de <mailto:sheidev@yahoo.de>> wrote:
>>
>> Hi Sven,
>>
>> thank you! I will check it out.
>> I'll have such situation more and more often.
>> I'll let you know when I might have extended the code by some addons
>>
>> Sebastian
>>
>>
>> On 2015-08-06 3:26 PM, Sven Van Caekenberghe wrote:
>>
>> On 07 Aug 2015, at 00:13, Sebastian Heidbrink
>> <sheidev(a)yahoo.de <mailto:sheidev@yahoo.de>> wrote:
>>
>> Is there a in-image monticello server available that
>> would mimic a repository server?
>>
>> Yes, it is called ZnMonticelloServerDelegate - it is meant as
>> an example, but it works.
>>
>>
>>
>>
>
Aug. 9, 2015
Re: [Pharo-users] MongoDB: console commands? query embedded indexed fields?
by Norbert Hartl
> Am 08.08.2015 um 10:38 schrieb Sabine Manaa <manaa.sabine(a)gmail.com>:
>
> Hi Norbert,
>
> lol, I had to google that: https://en.wikipedia.org/wiki/Heisenbug
> funny but that's it. It is always a good feeling when I know what the reason for a certain behavior is.
> Now I can proceed with the implementation of the search functionality.
>
> no, in Mongo I don't store the back references, they are created when the objects are instantiated in pharo.
> Wouldn't you do it like this? What is the background for your question?
>
The background is that there is a difference between an in-memory graph and a persisted one. So storing forth and backreferences is asking for trouble. Having back references being transient and reestablishing them on materialization is a good way of having the best of both world.
Norbert
> Regards
> Sabine
>
> 2015-08-07 15:06 GMT+02:00 NorbertHartl [via Smalltalk] <[hidden email]>:
>>
>>> Am 07.08.2015 um 14:53 schrieb Sabine Manaa <[hidden email]>:
>>>
>>> Hi Norbert, Hi Phil,
>>>
>>> thanks for your help! Now I know what the problem is/was. :-)))
>>>
>>> The query was right, the index was used, all is fine.
>>>
>>> BUT:
>>> I used an inspector to look at the query's result and opening the inspector forced to load all the other objects which belong to the object found.
>>> Explanation: I have a person which has N trips with N receipts, all with back pointers. Opening an Inspector with one trip loads its person and all other trips of this person hahaha. The magritte description isLazy but the inspector forced the loading of the objects in the VOMongoRepository at first time after image starting.
>>>
>>> Time millisecondsToRun: [(RKATrip selectMany: { 'receipts.receiptDescription' -> 'a' } asDictionary) size] 764 .
>>> Time millisecondsToRun: [(RKATrip selectMany: { 'receipts.receiptDescription' -> 'a' } asDictionary) inspect] 17234
>>>
>>> So, I messed around with myself.
>> Well, we call this an inversed Heisenbug, don't we? :) That is a problem we should be aware when using proxy implementations and tools like gt tools. It is very likely that a powerful tool will inquire special information on a proxy that will trigger it.
>>
>>> Currently I do not have so much data but I hope in future there will be a lot and I want the application prepared for that.
>> It depends on the tool and your model. Are you storing those backreferences in mongo as well?
>>
>> Norbert
>>
>>> BTW: I found this nice document: https://ci.inria.fr/pharo-contribution/job/EnterprisePharoBook/ws/Voyage/Vo…
>>> I was mentioned there, thanks! Esteban, if you want, you could change my name, I married and changed my name to Manaa.
>>>
>>> have a nice weekend
>>> Sabine
>>>
>>> 2015-08-06 15:36 GMT+02:00 NorbertHartl [via Smalltalk] <<a href="x-msg://13/user/SendEmail.jtp?type=node&node=4841464&i=0" target="_top" rel="nofollow" link="external" class="">[hidden email]>:
>>>
>>>> Sabine,
>>>>
>>>>> Am 06.08.2015 um 14:49 schrieb Sabine Manaa <[hidden email]>:
>>>>>
>>>>> Norbert,
>>>>>
>>>>> I have to come back to your answer.
>>>>>
>>>>> With the .explain option, I can see, how performance is with and without index on the _mongo console_.
>>>>> As an example, I see: with index only 2 objects scanned, without: 200. Performance is perfect with index.
>>>>>
>>>>> But _from smalltalk_, it seems to iterate over all objects, also with the index set. Slow.
>>>>>
>>>>> You wrote: "The index will be selected automatically." It seems that it does not.
>>>>
>>>> Usually it does.
>>>>
>>>>> My question:
>>>>> MongoQuery has an attribute named "where" which is filled with the mentioned "receipts.receiptDescription".
>>>>> Because of the name of this attribute "where" and the slow performance, I assume that the mongo classes use the $where command:
>>>>>
>>>>> http://docs.mongodb.org/manual/reference/operator/query/where/
>>>>>
>>>>> Is this right?
>>>>>
>>>>> In this case with the statement
>>>>> Trip selectMany: { 'receipts.receiptDescription' -> 'Tankquittung' } asDictionary
>>>>> the index would not be set automatically.
>>>>>
>>>>> "The $where provides greater flexibility, but requires that the database processes the JavaScript expression or function for each document in the collection. "
>>>>>
>>>>> Then my question is if the mongo classes support database queries with index and if yes, how.
>>>>>
>>>>> I am very interested in your opinion and I think other users should have the same requirements (querying indexed variables) - how did they solve this?
>>>> The handling of indexes needs to be automatic. The rule of thumb is that if you use where clause like b = , c = , a= than you need an compound index in the same order being index(b,c,a). This is handled by the database when it analyzes the query it tries to find an appropriate index. Or seeing it from the other side: If you issue a query with index and the index does not fit the query it is a problem anyway. Are you sure you have only this one thing in the where query?
>>>>
>>>> I use e.g.
>>>>
>>>> COInstalledApp selectOne: {
>>>> 'device.id' -> aString.
>>>> 'application.__id' -> anApplication voyageId } asDictionary
>>>>
>>>> on a collection that has approx. 1 Mio. entires and it is fast. I didn't check with explain but I'll do if I find time :)
>>>>
>>>> If I were you I would step in the debugger down to the Voyage part after serialization. Then you have the exact Dictionary that is used to send to mongo. You can then use this query to do an "explain" on it and that should show you something. Another thing you can try (although I don't think makes any difference) is to use the non-javascript query variant. That would be
>>>>
>>>> Trip selectMany: {
>>>> 'receipts' -> {
>>>> 'receiptDescription' -> 'Tankquittung' } asDictionary } asDictionary
>>>>
>>>> Norbert
>>>>
>>>>> Regards
>>>>> Sabine
>>>>>
>>>>>
>>>>> 2015-08-04 14:47 GMT+02:00 Sabine Manaa <[hidden email]>:
>>>>>
>>>>> >
>>>>> > Hi Norbert,
>>>>> >
>>>>> > I didn't want to use "use database" for queries but for defining the index from within smalltalk. But if creating indexes is not supported, I will set the indexes within the mongo console.
>>>>> >
>>>>> > The explain option is very helpful I did not know this.
>>>>> >
>>>>> > Your answer was very helpful for me, thanks a lot!
>>>>> > Sabine
>>>>> >
>>>>> >
>>>>> >
>>>>> > 2015-08-04 10:42 GMT+02:00 NorbertHartl [via Smalltalk] <[hidden email]>:
>>>>> >>
>>>>> >> Sabine,
>>>>> >>
>>>>> >> Am 04.08.2015 um 07:08 schrieb Sabine Manaa <[hidden email]>:
>>>>> >>
>>>>> >> Hi,
>>>>> >>
>>>>> >> I have 2 questions concerning use of mongoDB classes:
>>>>> >> 1) how can I send mongo console commands directly from smalltalk
>>>>> >> 2) how to query on an embedded collection with an index
>>>>> >>
>>>>> >> Model:
>>>>> >> I have trips and each trip has an embedded collection of N receipts like
>>>>> >> this:
>>>>> >> { "tripName" : "trip 1",
>>>>> >> {"receipts" : [
>>>>> >> {"receiptDescription" : "receipt 1" }
>>>>> >> {"receiptDescription" : "receipt 2" }
>>>>> >> {"receiptDescription" : "receipt 3" } ],
>>>>> >> }
>>>>> >>
>>>>> >> Index:
>>>>> >> For quick search, I created an index on the embeded[1] receipts with this
>>>>> >> command at the mongoDB console in a terminal (NOT in smalltalk)
>>>>> >> (mongo console starts with mongo in the MongoDB/bin dir):
>>>>> >>
>>>>> >> db.Trips.createIndex({"receipts.receiptDescription":1})
>>>>> >>
>>>>> >> with a command like this in the mongoDB console
>>>>> >>
>>>>> >> db.Trips.find({"receipts.receiptDescription":"receipt 1"})
>>>>> >>
>>>>> >> I get the resulting receipt.
>>>>> >>
>>>>> >> Before, I have to set the database with "use {databasename}" in thr mongodb
>>>>> >> console
>>>>> >>
>>>>> >> My questions:
>>>>> >> 1) how can I send mongo console commands directly from smalltalk, e.g. use
>>>>> >> database, set index etc.
>>>>> >>
>>>>> >>
>>>>> >> I don't know why you want to use "use database". For queries you don't need this because you choose the database and collection by using the smalltalk classes. You can look there if something you need exists.
>>>>> >> Creating indexes is not yet supported. I want to do that myself. As always there seems to be to less people implementing stuff like that.
>>>>> >>
>>>>> >> Is this possible?
>>>>> >> I did not succeed with the mongo command: method, it always returns "no such
>>>>> >> cmd".
>>>>> >>
>>>>> >> 2) how can I search for a receipt which is indexed as described from
>>>>> >> smalltalk?
>>>>> >>
>>>>> >>
>>>>> >> A simple
>>>>> >>
>>>>> >> Trip selectMany: { 'receipts.receiptDescription' -> 'Tankquittung' } asDictionary
>>>>> >>
>>>>> >> should do. You can use just the nested properties form. The index will be selected automatically. If you are not sure about queries read about explain [1] to optimize that stuff.
>>>>> >>
>>>>> >> [1] http://docs.mongodb.org/manual/reference/method/cursor.explain/#cursor.expl…
>>>>> >>
>>>>> >> Norbert
>>>>> >>
>>>>> >>
>>>>> >> I did not succeed with the description [2] I am not sure if it is covered by
>>>>> >> it.
>>>>> >>
>>>>> >> Regards
>>>>> >> Sabine
>>>>> >>
>>>>> >>
>>>>> >> [1]
>>>>> >> http://docs.mongodb.org/manual/core/index-multikey/#index-arrays-with-embed…
>>>>> >> [2] http://smallworks.eu/web/blog/2013-07-18-Voyage-advanced-queries
>>>>> >>
>>>>> >>
>>>>> >>
>>>>> >> --
>>>>> >> View this message in context: http://forum.world.st/MongoDB-console-commands-query-embedded-indexed-field…
>>>>> >> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
>>>>> >>
>>>>> >>
>>>>> >>
>>>>> >>
>>>>> >> ________________________________
>>>>> >> If you reply to this email, your message will be added to the discussion below:
>>>>> >> http://forum.world.st/MongoDB-console-commands-query-embedded-indexed-field…
>>>>> >> To start a new topic under Pharo Smalltalk Users, email [hidden email]
>>>>> >> To unsubscribe from MongoDB: console commands? query embedded indexed fields?, click here.
>>>>> >> NAML
>>>>> >
>>>>> >
>>>>> >
>>>>> > ________________________________
>>>>> > View this message in context: Re: MongoDB: console commands? query embedded indexed fields?
>>>>> >
>>>>> > Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
>>>
>>> If you reply to this email, your message will be added to the discussion below:
>>> http://forum.world.st/MongoDB-console-commands-query-embedded-indexed-field…
>>> To start a new topic under Pharo Smalltalk Users, email <a href="x-msg://13/user/SendEmail.jtp?type=node&node=4841464&i=1" target="_top" rel="nofollow" link="external" class="">[hidden email]
>>> To unsubscribe from MongoDB: console commands? query embedded indexed fields?, click here.
>>> NAML
>>
>>
>> View this message in context: Re: MongoDB: console commands? query embedded indexed fields?
>> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
>
>
>
> If you reply to this email, your message will be added to the discussion below:
> http://forum.world.st/MongoDB-console-commands-query-embedded-indexed-field…
> To start a new topic under Pharo Smalltalk Users, email [hidden email]
> To unsubscribe from MongoDB: console commands? query embedded indexed fields?, click here.
> NAML
>
>
> View this message in context: Re: MongoDB: console commands? query embedded indexed fields?
> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
Aug. 8, 2015
Re: [Pharo-users] System Windows not closing on using #close
by Stephan Eggermont
On 08/08/15 20:43, Jigyasa Grover wrote:
> Oh
> Thank You Ben.
> It was indeed a very nice explanation. :)
> I was able to resolve my issue perfectly.
>
> But changing the code snippet to:
>
> *---------------------------------------------------------------------------
> #initialize
> . . .
> boxWindow := box openInWindow.
> boxWindow setLabel: 'searchQuick - Browse Files'.
> box position: 150@0.
> boxWindow fullscreen.
> boxWindow color: Color black.
> ---------------------------------------------------------------------------*
>
> I can no longer position 'box' within 'boxWindow'.
> Any clue regarding this ?
If you take a look at
Morph>>openInWindowLabeled: aString inWorld: aWorld
you'll see that the morph itself is added with a LayoutFrame taking up
the whole window (0@0 extent: 1@1). Making that then fullScreen results
in the box getting resized to take the whole screen.
If you give the box a different frame after adding it you should be able
to position it differently.
Stephan
Aug. 8, 2015
Re: [Pharo-users] MSOffice DOCX generation?
by ЮÑий ÐиÑоненко
Sorry if I was crude - it was not my intention :)
I just spotted your question and have started investigation, and I just
wanted to show that I'm in process of answering and answer will soon be
here. Unfortunately, unexpected emergency happened...well, anyway:
Using of TabularExperimenting is very simple (though not very usable):
tab := TabularExperimenting new.
tab generateXLSX.
It will generate file named "Test.xlsx" in the current directory (in
windows environment it is directory same to image one in most cases, in
ubuntu it's home folder of the current user).
If you'll see closely on TabularExperimenting, the model for the export is
genrated in #initialize method. And, as far as I remember, it do not
support multi-sheets documents (only first sheet will be actually written
to the file). That's why it's Experimenting, not Exporter :)
Well, I have used this code in production, making very quick, dirty and
obvious API for this TabularExperimenting class. It's on repo now, but not
recommended for loading (see the version comments to find one if you want
to see it).
2015-08-08 13:32 GMT+03:00 H. Hirzel <hannes.hirzel(a)gmail.com>:
> Sorry I do not want to put you under pressure, the second email was
> just meant as a clarificiation of the first :-), take you time.
>
> --HH
>
> On 8/8/15, ЮÑий ÐиÑоненко <assargaddon(a)gmail.com> wrote:
> > Give me couple of minutes to make answer, please.
> >
> > 2015-08-08 13:14 GMT+03:00 H. Hirzel <hannes.hirzel(a)gmail.com>:
> >
> >> Mainly the answer to the question: How do I use the experimental
> exporter
> >> class?
> >>
> >>
> >>
> >>
> >> On 8/8/15, H. Hirzel <hannes.hirzel(a)gmail.com> wrote:
> >> > Yes, this is what I realized when looking at your code in Tabular.
> >> >
> >> > This is a good basis to build upon. I started adding some versions to
> >> > http://ss3.gemtalksystems.com/ss/Tabular.html
> >> >
> >> > mainly adding comments and grouping method into protocols.
> >> >
> >> > Your test cases are useful.
> >> >
> >> > May I ask you to add some comment to the exporters subpackage?
> >> >
> >> > Hannes
> >> >
> >> >
> >> > On 8/8/15, Vincent BLONDEAU <vincent.blondeau(a)polytech-lille.net>
> >> > wrote:
> >> >> I think you can improve Tabular to generate DOCX files. It is the
> same
> >> >> file
> >> >> standard than XLSX.
> >> >>
> >> >> Vincent
> >> >>
> >> >> -----Message d'origine-----
> >> >> De : Pharo-users [mailto:pharo-users-bounces@lists.pharo.org] De la
> >> part
> >> >> de
> >> >> H. Hirzel
> >> >> Envoyé : samedi 8 août 2015 08:56
> >> >> Ã : Any question about pharo is welcome
> >> >> Objet : Re: [Pharo-users] MSOffice DOCX generation?
> >> >>
> >> >> I found Tabular
> >> >>
> >> >> http://ss3.gemtalksystems.com/ss/Tabular.html
> >> >>
> >> >> which is for Spreadsheets files. It is useful as an example for
> >> >> creating
> >> >> something similar for DOCX files.
> >> >>
> >> >> On 8/8/15, H. Hirzel <hannes.hirzel(a)gmail.com> wrote:
> >> >>> A similar library but for Java
> >> >>>
> >> >>> http://www.docx4java.org/trac/docx4j
> >> >>>
> >> >>> On 8/7/15, H. Hirzel <hannes.hirzel(a)gmail.com> wrote:
> >> >>>> Hello
> >> >>>>
> >> >>>> Is there a library like for Pharo to generate DOCX files?
> >> >>>>
> >> >>>> Something like this
> >> >>>> https://docx.codeplex.com/
> >> >>>> DocX is a .NET library that allows developers to manipulate Word
> >> >>>> 2007/2010/2013 files, in an easy and intuitive manor. DocX is fast,
> >> >>>> lightweight and best of all it does not require Microsoft Word or
> >> >>>> Office to be installed.
> >> >>>>
> >> >>>> Regards
> >> >>>>
> >> >>>> Hannes
> >> >>>>
> >> >>>
> >> >>
> >> >>
> >> >>
> >> >>
> >> >
> >>
> >>
> >
>
>
Aug. 8, 2015
gettings real senders
by Peter Uhnák
So there's method CompiledMethod>>senders,
but the problem is that it just looks for the message symbol and not class.
so for example:
~~~~~~~~~~~~~~~~~~~~~
(WriteStream>>on:) senders
~~~~~~~~~~~~~~~~~~~~~
will also include Object>>asBrick
Object>>asBrick
^ GLMMorphBrick on: self asMorph
because it sends #on: even though it's on completely different object.
Now I understand that this is a dynamic system, so I will never have all
senders,
but this should be resolvable even through static analysis?
So now my question is: Is there an easy way to retrieve the object to which
the selector is sent?
I can use "CompiledMethod>>messages", but that just returns "a
Set(#asMorph #on:)" which is useless here.
So do I need to traverse the AST and find it there?
Thanks,
Peter
Aug. 8, 2015