From bogus@does.not.exist.com Thu Oct 26 18:16:52 2017 From: bogus@does.not.exist.com () Date: Thu, 26 Oct 2017 16:16:52 -0000 Subject: No subject Message-ID:
I had several things in mind (example, getting system data)
Seems most projects could be started read only, values only
(the component simply offers read only properties to the app)

Writing properties and various callbacks could then be added
Depending on the needs of the particular component involved
Is the example compilable as is, and what all is needed for that?
-- 
Using Lindows 

--------------010505030805010103070709-- From bogus@does.not.exist.com Thu Oct 26 18:16:52 2017 From: bogus@does.not.exist.com () Date: Thu, 26 Oct 2017 16:16:52 -0000 Subject: No subject Message-ID: 'Voorgrond naar achtergrond' is what I belive is the meaning here(deepnes). 'Voor- naar achter-grond' is the right shorten form for good Dutch or 'Voor naar achtergrond' as relaxed but improper way 'Naar achtergrond' is the one I chose, in English 'To background' The point is I do not know if it is a button, or menu entry and the space it has. It is in the FForm.class file and I can't open it if the translate= =20 form is open to look in what context it is used. See following interview. from interview with Rinse de Vries (http://www.kde.nl/people/rinse.html) [interview] - What are the problems you encounter while translating? There are 3 issues I have to deal with:=20 1) Should the string be translated or not - The Dutch language is lending a= lot of foreign=20 computer words. If we translate too much English terms, we could scare aw= ay the advanced=20 users, but if we translate too little computer terms, the newbe would not= understand them.=20 2) In which context is the message used- some messages can be translated in= 5 ways,=20 depending on its context. To deal with this, I try to determine the conte= xt by=20 reading the other messages around it, or by checking the German translati= on.=20 3) Conflicting accelerators. - this is the hardest one, it is not easy to a= void conflicts=20 between accelerators. Most of the time I can solve this by reading surrou= nding messages,=20 but sometimes the messages don't look related in the po-file, while in th= e real world,=20 they are used in the same menu/dialog box...=20 [/interview] He is exactly telling the problems I find during the translating job ATM. He give a hint that grouping of the parts to translate that are in the same= file in this case will help for the translating and accelerators keys. I have written an email to Fabrice Mous who has done this job in the past to get info if he still do this or give up and where to find appropriate he= lp. I give up to get it working. My last try was as follows: Start new shell and type RC_LANG=3Dnl_NL made a clean directory with the 0.99RC1 unpacked no changes from me , just plain as the file is. made a script as follows ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~` #!/bin/sh RC_ALL=3Dnl_NL RC_LANG=3Dnl_NL LC_LANG=3Dnl_NL LC_ALL=3Dnl_NL LC_MESSAGES=3Dnl_NL LC_CTYPE=3Dnl_NL export RC_ALL export RC_LANG export LC_LANG export LC_ALL export LC_MESSAGES export LC_CTYPE #make clean #./reconf ./configure make make install /opt/gambas/gambas # end script ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ env | grep LANG tell me RC_LANG=3Dnl_NL Did run the script. gambas is called from the script to and should get nl_NL Gambas is telling me system.language=3Den_US I get also with verify in the translate form 'Translated string symbols do not match untranslated string ones.' No idea what that means, no hint for the first one that does not match to take care off. Please where and when is the IDE told to run in the language set and by=20 what variable!!!!=20 If I have to send in the po file then I have to wait to the next=20 release to see it is done the right way.=20 I need simple direct preview to prevent that loss of time else=20 I'm afraid it will be gambas version 2.99a till is is correct :( Ron From bogus@does.not.exist.com Thu Oct 26 18:16:52 2017 From: bogus@does.not.exist.com () Date: Thu, 26 Oct 2017 16:16:52 -0000 Subject: No subject Message-ID: Str$ String = Str$ ( Expression ) Converts an expression into its printable string representation... From bogus@does.not.exist.com Thu Oct 26 18:16:52 2017 From: bogus@does.not.exist.com () Date: Thu, 26 Oct 2017 16:16:52 -0000 Subject: No subject Message-ID: stupid to me, icm the form can be any widget or simular ncurses=20 construction to give a widget idea of it. Also it make nosense the have a 'gb.form.x11.gtk' without gb.button.x11.gtk or gb.button.x11.qt, is it ? The 'gb.qt/gtk' in fact is 'gb.x11.qt/gtk' or 'gb.ncurses' and gb.x11.qt/gtk. or gb.ncurses. This results in=20 'gb..'=20 where=20 '' is 'x11.qt', 'win.qt', 'x11.gtk' or 'ncurses' and=20 '' is 'form', 'button' or 'listbox'. The gtk component Daniel is making is already gb.x11.gtk. because it is in real life a x11.gtk component. Same for the gb.qt component. If there must be a split in the code for a form it should be a split between the x11.qt and the qt.form part in such way that the binding between these is universal and=20 gb..form gb..form can be changed to gb..form gb..form gb..form gb..form gb..form gb..form=20 and from your list the gb.form.fltk gb..form=20 _-interface>. And that is in fact almost the current situation and >We must make a gb.form component that will be parent of gb.form.qt and > gb.form.gtk. is in my view a wrong statement. It works opposite. |=20 | How about having the gui compenent to use be specified on the command lin= e=20 | or as an env. var, instead of in the project file? |=20 | like GAMBAS_USE_GUI=3Dgb.gtk or something. |=20 |=20 And yes here you can tell to use x11.qt, x11.qt, directfb or ncurses. This make more sense to me, make the program code in x11.qt and run=20 simple with x11.gtk or win.wx based system. Note: By looking in the proposal, I was had some strange feeling about it. I tried to forsee the impact it could have in the wx, gtk and win case and found the first problem with the widgets.=20=20 Instead 1 component with a subclass for the widgets every widget was also divided in at least 2 subclasses for qt and gtk. The hierarchy gb.qt.widget to gb.widget and gb.widget.qt/gtk/wx/... does not look clearer to me. The way it works now with using gb.qt or gb.gtk it is. Using gb.ncurses, that will be missing some of the widgets from gb.qt, shows nice in the toolbox, I don't belive your proposal will do the same as easy it works now. This is my personal view, I did like the brainstorm about it and share my conclusion. Sorry if it is boring and to long. BTW, nice job to make it working with cygwin. Ron From bogus@does.not.exist.com Thu Oct 26 18:16:52 2017 From: bogus@does.not.exist.com () Date: Thu, 26 Oct 2017 16:16:52 -0000 Subject: No subject Message-ID: the Control collection in FForm is getting populated with NULLs=20 instead of CControls for some control types. I assume that=20 there's an error somewhere that's being hidden by a TRY or CATCH=20 with no warning, but I haven't found it yet. (I tried globally=20 commenting out the CATCH command across the entire project....=20 that didn't work so well.... :) ) Diffing 1.9.2 against 1.0.2=20 (eliminating the .lang subdirectory) gives about 600 lines of=20 diff output, and none of it looks like it could be causing the=20 error to me. Rob From bogus@does.not.exist.com Thu Oct 26 18:16:52 2017 From: bogus@does.not.exist.com () Date: Thu, 26 Oct 2017 16:16:52 -0000 Subject: No subject Message-ID: "PeXis offers Pre-employment Background Checks, Due Diligence, Fraud=20 Investigations, Surveillance, Marital Investigations, Asset Searches, Armed= =20 and Unarmed Guard Services, Undercover and Executive Protection Agents and= =20 Expert Witness testimony in all security related issues. " Are you sure I will find a X Server for Windows there ? :-) =20 --=20 Benoit Minisini mailto:gambas at ...1... From bogus@does.not.exist.com Thu Oct 26 18:16:52 2017 From: bogus@does.not.exist.com () Date: Thu, 26 Oct 2017 16:16:52 -0000 Subject: No subject Message-ID: >avoid needing to compile all the gambas stuff (45' minutes in a >poweful PC) whenever a "make clean" is executed Oh, I don't know... My laptop's 3 years old and even Gambas 1.9.3 only=20 takes half an hour to compile.... on battery. On the workstation I=20 use at one of my client sites (a fairly powerful one but not top-end,=20 P4-2800) it takes about 12 minutes. I mean, I agree with you 1000% about needing to be able to make a=20 separate package with just the API-related stuff (I tried in the past=20 to make a gambas-devel package but ended up making a gambas-source=20 package instead) but I think having to distribute a gigantic source=20 RPM with every stand-alone component is a worse problem than compile=20 time. >We spent also a lot of time talking about the ideas that Beno=EEt & >Daniel had about the possibility of using Gambas as a web development >platform. The easiest taking off could be exporting gb.form to HTML + >CSS. Then, if XForms becomes standard that would be the way to=20 follow. I am working on a project for a client that involves recreating a very=20 large Access application as a set of CGI's. The client wants the=20 resulting web forms to resemble the Access forms as much as possible=20 (uggggh....) and in my quest to do this I started working on a Gambas=20 form to HTML+CSS translator, using absolute positioning, just so I=20 could use Gambas' form editor rather than NVU's awkward one or doing=20 everything by hand. I didn't realize anyone else would want to do=20 such a thing, but if anyone else cares, I can try to rewrite in=20 gambas2 (it's in perl now, of course), polish it up and post it. Rob From bogus@does.not.exist.com Thu Oct 26 18:16:52 2017 From: bogus@does.not.exist.com () Date: Thu, 26 Oct 2017 16:16:52 -0000 Subject: No subject Message-ID: From bogus@does.not.exist.com Thu Oct 26 18:16:52 2017 From: bogus@does.not.exist.com () Date: Thu, 26 Oct 2017 16:16:52 -0000 Subject: No subject Message-ID: mrt From bogus@does.not.exist.com Thu Oct 26 18:16:52 2017 From: bogus@does.not.exist.com () Date: Thu, 26 Oct 2017 16:16:52 -0000 Subject: No subject Message-ID: mrt Even the smallest change should be visible in the name or in the archive a = subversion ID. =20 From bogus@does.not.exist.com Thu Oct 26 18:16:52 2017 From: bogus@does.not.exist.com () Date: Thu, 26 Oct 2017 16:16:52 -0000 Subject: No subject Message-ID: > > This was pitty and makes things more complex. > > > > Is it possible to get a couple of function added to the columnview in > > later versions? > > Columnview1.item[number].key > > Columnview1.item[number].selected=3Dtrue/False > > > > or something similar? > > > > Regards Rohnny > > You can't have two keys for an item, only one. If you want a number to be= a > key, just use it as key. > > MyColumnView.Add(number, text, picture...) > > What is the problem with that? > > -- > Benoit Minisini How about next: with MyColumnView .left=3D10 .top=3D10 [0,2].text=3D"hello" 'This can not be done [3,2].text=3D"gambas" 'this also not .border=3Dborder.sunken end with with MyColumnView .left=3D10 .top=3D10 MyColumnView[0,2].text=3D"useless using with" MyColumnView[3,2].text=3D"more useless for with" .border=3Dborder.sunken end with with MyColumnView with [3,2] 'alternative .xxx .Text=3D"stupid way" .yyy end with end with With the .Item property you can do=20 with MyColumnView .left=3D10 .top=3D10 .item[0,2].text=3D"hello" .item[3,2].text=3D"gambas2" .item[3].SubItem[4].text=3D"gambas4" with .Item[3,1] .text=3D"how nice" end with with .Item[1] with .SubItem[5] .text=3DSuper" end with end with=09 .border=3Dborder.sunken end with The example Rohnny Stormo give was a bit wrong > > Columnview1.item[number].key > > Columnview1.item[number].selected=3Dtrue/False I think he means Columnview1.item[row,column] This should be then for control objects being accessed as array [x ] equals to .Item[x] [x,y] equals to .Item[x,y] [key] equals to .Item[key] With MS-VB you have ListView(row) can also accessed by ListView.item(row) For the columns ListView(row).SubItem(column) can accessed by ListView.item(row).SubItem(co= lumn) vb.ListView.Item(row).SubItem(column).propertymethod vb.ListView(row).SubItem(column).propertymethod gb.Columnview1.Item[row,column].propertymethod gb.Columnview1[row,column].propertymethod =20=20 And using .Items instead .Item is more correct in my view. It is a set of Items where .Item suggest you have only one item. To keep it simple and compatible, allow [x,y] been prefixed with .Item or just the other way, access the array content as .Item[row,col] and allow for missing .Item as option. =20 Just my 3 cents Ron =09=09 From bogus@does.not.exist.com Thu Oct 26 18:16:52 2017 From: bogus@does.not.exist.com () Date: Thu, 26 Oct 2017 16:16:52 -0000 Subject: No subject Message-ID: About icons now... i've a question... isn't it possible to make a better st= ock=20 class that take the icon directly in the kde and gtk theme ? How the hell he knows the stock has something to do with icons. I have only resistors, diode etc in stock. Well in my opinion a better stock class should then in the completion box for the key give something as=20 'stock.folder', 'stock.close', 'stock.myicon' or the class=20 should have it in the help like Align.xyz and Alignment.xyz. I can't remember all those fancy names KDE uses and not readable in there own Select icon form. See kde-icon-mess picture. Do you know what behind the dots? And this is the only view possible, no details listing. In the pre v1 / v2 version it got in reviews so many compliments=20 about the embedded help, I wonder those reviewers still do. For those people saying do it yourself. Be realistic. Benoit did work now for 4 years on it and did really a great job. He designed the background system to make it possible to work with. When I (could) create the same and deliver the same but undocumented=20 and/or partial help you could also not use it for the 100% as=20 Benoit or I create the program had in mind during the development.=20 This is a general problem with almost all software.=20 Lack of proper documentation or at least an explanation what the=20 intention is and how to basically use it. When I add this explanations to the wiki I can in most cases only guess what the meaning is, and be wrong! I'm a bit sad with the way gambas is going now. With all respect, gambas is goooooood Ron. PS sorry for the length but I had to ventilate it. --Boundary-00=_lQqvEa/RjsXSH91 Content-Type: image/jpeg; name="kde-icon-mess.jpg" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="kde-icon-mess.jpg" /9j/4AAQSkZJRgABAQIAAAAAAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCACGAbEDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3uCCG 1t4re3ijhgiQJHHGoVUUDAAA4AA4xUlFFABRUNxcxWy5kLZOSFRCzHHXAAJNU7bW7a5Vj5N5FtPS W1kXP04oA0qKpNqcWcRxzSHv8uzH/fZGfwph1UAA/ZZsH/bi/wDi6ANCiq1nfRXok8sMrRnDKxBI 4yOQSP1qzQAUUUUAFFFFAGTceIbOJ3jgD3MiHDeWPlU+7Hiqb6teXAZtyW8ajcRH8zY+p4/IGvNp 9dvrHU1RNs1tsz5T9vmOdp6j+XtWzpcdxqUDmDWbiC3QgNE9ujyIDnAVzwRweSCeOaAO1toLa8tD 8qTrL8xeXLknp/T2qolnfaHMXhlRbXnEC5Kk+wJ4/CoLa7XT7OO0tSVRBjcx3MT3JPqTzUV/fxWF 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 --Boundary-00=_lQqvEa/RjsXSH91-- From bogus@does.not.exist.com Thu Oct 26 18:16:52 2017 From: bogus@does.not.exist.com () Date: Thu, 26 Oct 2017 16:16:52 -0000 Subject: No subject Message-ID: is called in the C code this is i presume valid for most errors coming from th= e=20=20 gambas parser. Here we go, there are 3 files to modify in src/comp directory. I assume you= =20 know what you are doing and if you dont, don't do it, you have been warned. in gb_error.h ---------------------------------------------- Line 53 add these 2 lines: int NumTOKEN; int len; in gb_read.c ----------------------------------------------- Line 252 in function PRIVATE void add_newline() add NumTOKEN=3D0; then below L. 580 in the function called PUBLIC void READ_do(void) find near line 585 int len; and replace it with: /*int len;*/ Still below, near line 617 find if (car =3D=3D '"') now everywherebelow where you see an instruction beginning with add_ add this just above it: NumTOKEN++; For example... if (car =3D=3D '"') { add_string(); // <- here function beginning with add_ begin_line =3D FALSE; continue; } ...becomes if (car =3D=3D '"') { NumTOKEN++; /* <- ADDED BY BERTRAND-XAVIER M.*/ add_string(); begin_line =3D FALSE; continue; } There are 5 "NumTOKEN++;" to add in this function and this was the hardest= =20 part. Though this is not pretty programming as one would do things=20 differently. Don't blame the one who's willing to try, and share. Later you= =20 might say you've modified manually a lexical analyser written in C! Lastly in gb_error.c ---------------------------------------- L.129 Change for (;;) so that it looks like: char strErrCOL [60]; sprintf(strErrCOL, "%dth word, %dth character: ", NumTOKEN, len); _add_string (strErrCOL); for (;;) And it's time to compile. You don't want to configure and recompile everything right? Open a console and type $ cd /home/joe/Gambas-1.0.17/src/comp $ make Watch out for some errors reported among a payload of garbage generated by= =20 make. Tip: gcc compiler always speaks in a clear language, easy to identify= =20 among chinese. If error occurs check what you've done in the code and start= =20 make again. Now open up another console as root, and copy the compiler in /usr/bin: # cp gbc /usr/bin/gbc In the meantime the Gambas IDE was still open. Throw some error in your cod= e=20 like PUBLIC SUB Main() PRINT "Hello " & "uhu & "ihi" END Run or compile it, he will tell precisely where the error is and have fun. From bogus@does.not.exist.com Thu Oct 26 18:16:52 2017 From: bogus@does.not.exist.com () Date: Thu, 26 Oct 2017 16:16:52 -0000 Subject: No subject Message-ID: > Like I said, keep the wiki. If the help text is written in XHTML then > you can write a simple converter. If you write xml you don't need to do. Using xml stylesheed (xsl I believe it was) you can translate to pdf/html/xhtml/tex/doc etc. Strictly spoken the translate should be possible using the xhtml(-strict)=20 as source to but for xml the stylesheets for mentioned formats already exi= st. I bet there are even free/commercial programs to do this transbuild job. just my 2 cents :) Best regards, Ron_1st PS: It could be even posible there is already a method to export the wiki t= o xml. Aply a xml stylesheet to trans late to make it xhtl/html and add a css style sheet of the week for presentation. --=20 From bogus@does.not.exist.com Thu Oct 26 18:16:52 2017 From: bogus@does.not.exist.com () Date: Thu, 26 Oct 2017 16:16:52 -0000 Subject: No subject Message-ID: Tell me if you understand now how to implement a Gambas object.=20 Now I'm waiting for your other questions... :-) --=20 Beno=C3=AEt Minisini From gambas at ...1... Sun Oct 15 21:51:34 2017 From: gambas at ...1... (=?UTF-8?Q?Beno=c3=aet_Minisini?=) Date: Sun, 15 Oct 2017 21:51:34 +0200 Subject: [Gambas-devel] Gambas mailing-list leaving SourceForge! Message-ID: <72e92daf-701a-0de3-ea01-bbf321fe8dd7@...1...> Hi, Thanks to Christof Thalhofer and Hostsharing.net, we have now a dedicated mailing-list server for Gambas, and so we can leave SourceForge mailing-list. Since a few weeks, SourceForge prevents me from accessing the list of subscribers, so people have to manually subscribe to the new mailing-list one by one. The server is hosted at: http://lists.gambas-basic.org There is one mailing-list at the moment, named "User". Additional mailing-list will be able to be added freely according to the needs. The Gitlab Gambas repository will now be able to send all commits to a new "Commit" mailing-list. The Bug Tracker will send its mails to the "User" mailing-lists, as everybody may be interested in bug fixes. Once that done, the SourceForge mailing-list will be deactivated. I will update the website as soon as possible. The website is now the only thing hosted by SourceForge. If you have any questions, please ask. Best regards, -- Beno?t Minisini