The time now is Sun 08 Dec 2019, 18:57
All times are UTC - 4 |
Page 1 of 12 [168 Posts] |
Goto page: 1, 2, 3, ..., 10, 11, 12 Next |
Author |
Message |
GatorDog

Joined: 12 Sep 2006 Posts: 136
|
Posted: Mon 25 Jul 2011, 14:23 Post subject:
HKP - Hug Keyword Parser Subject description: BaCon example of using FILEDIALOG EDITDIALOG MSGDIALOG |
|
This program is an example of using EDITDIALOG, MSGDIALOG & FILEDIALOG.
If you use hug_imports.bac while developing and want the final app
to use hug.bac, keyword_list...
Hug Keyword Parser - Parses a Bacon source.bak file for HUG keywords.
Displays a new INCLUDE "/path/hug.bac", list_of_keywords In an Edit window.
Then you can copy/paste the Include line into your program.
rod
Edit: I'm using BaCon GUI v 1.0.24 / hug.bac v.61+
- Latest Version 2.1 source attached. Added Direct Import statements from hug_imports.bac
Description |
|
Filesize |
48.61 KB |
Viewed |
1048 Time(s) |

|
Description |
HKP 2.1 Bacon source
|

Download |
Filename |
HKP-HugKeywordParser-2.1.tar.gz |
Filesize |
6.57 KB |
Downloaded |
738 Time(s) |
Description |
Hug Keyword Parser source 1.0r1
|

Download |
Filename |
hkp.tar.gz |
Filesize |
4.52 KB |
Downloaded |
868 Time(s) |
Last edited by GatorDog on Thu 03 Nov 2011, 08:34; edited 1 time in total
|
Back to top
|
|
 |
vovchik

Joined: 23 Oct 2006 Posts: 1512 Location: Ukraine
|
Posted: Tue 26 Jul 2011, 11:51 Post subject:
hug keyword parser |
|
Dear Rod,
Nice job. It is immediately useful. Thanks.
With kind regards,
vovchik
|
Back to top
|
|
 |
sunburnt

Joined: 08 Jun 2005 Posts: 5087 Location: Arizona, U.S.A.
|
Posted: Fri 29 Jul 2011, 13:13 Post subject:
|
|
I read in the forum that Barry has included BaCon in Puppy.
I`m running 5.11, which version has it?
I noticed at the BaCon web site a lot of addons, some for GTK+.
BaCon could turn out to be a good replacement for gtkDialog.
# Addendum: Looking at the GTK+ examples, it`s very code intensive.
# A converter needs to be written in BaCon to reduce the required code.
|
Back to top
|
|
 |
GatorDog

Joined: 12 Sep 2006 Posts: 136
|
Posted: Fri 29 Jul 2011, 18:14 Post subject:
|
|
Hi sunburnt,
As far as I know, 511 should have BaCon in the 511 DEVX package.
For starters check out this-
http://bkhome.org/bacon/index.html
I've been using BaCon GUI to edit/compile/run as opposed to the
command line compiler (bacon) and a text editor. The gui is great.
I'm running pup 525. Some of the Bacon in the DEVX is getting a little
crispy. Some of the apps above need the latest bacon related files. I'll
attach the current files.
The DEVX package sets up the Bacon files in /usr/share/BaCon .
Put these files there: hug.bac, hug_imports.bac and hug.so .
You can put bacon and bacongui in you search path. I just made a
bacon directory, put bacon / bacongui in there and do developement
from that directory.
If you put the hug.so in a different directory, you'll need to edit the
top of hug_imports.bac to reflect the different path.
for ref hug.bac / hug.so are v.61 and bacongui 1.0.24beta
bacongui.bac and bacon.bac are the source files. When you have the
DEVX package loaded, compile them with "bacon bacon.bac"
and "bacon bacongui.bac"
Quote: | # Addendum: Looking at the GTK+ examples, it`s very code intensive. |
If your talking about making the cool GUI's, that is what HUG is for (hug.bac etc.)
Hopefully that will get you started.
rod
Description |
bacon / bacongui 1.0.24beta hug.bac, hug.so .61 hug_imports.bac current
|

Download |
Filename |
bacon_files.tar.gz |
Filesize |
167.11 KB |
Downloaded |
967 Time(s) |
|
Back to top
|
|
 |
sunburnt

Joined: 08 Jun 2005 Posts: 5087 Location: Arizona, U.S.A.
|
Posted: Fri 29 Jul 2011, 18:48 Post subject:
|
|
Thanks GatorDog; BaCon has a lot of potential, If it can GUIs without lots of code... Great!
|
Back to top
|
|
 |
GatorDog

Joined: 12 Sep 2006 Posts: 136
|
Posted: Fri 29 Jul 2011, 23:39 Post subject:
Hello Bacon (World) |
|
sunburnt wrote: | BaCon has a lot of potential, If it can GUIs without lots of code... Great! |
Here's the classic Hello Bacon (World )
Code: |
' BaCon / HUG Hello World
INCLUDE "/usr/share/BaCon/hug_imports.bac"
INIT
Mainwin = WINDOW( "Hello Title Bar", 250, 100 )
My_label = MARK( "Hello BaCon!", 150, 30 )
ATTACH( Mainwin, My_label, 50, 20 )
My_btn = BUTTON( "I'm done", 80, 25)
ATTACH( Mainwin, My_btn, 85, 60 )
CALLBACK( My_btn, QUIT)
My_chk = CHECK( "Nada", 50, 25 )
ATTACH( Mainwin, My_chk, 175, 60 )
' Make it so! (A little Star Trek lingo :-)
DISPLAY
|
You start with the main window, then start making widgets.
Use x,y co-ords to place them on the window and away you go.
rod
Description |
Hello Bacon |
Filesize |
7.36 KB |
Viewed |
1822 Time(s) |

|
|
Back to top
|
|
 |
GatorDog

Joined: 12 Sep 2006 Posts: 136
|
Posted: Sat 30 Jul 2011, 09:49 Post subject:
Hello Bacon (World) |
|
Here is a commented version- Code: | ' BaCon / HUG Hello World
' Include the files for making a GUI.
INCLUDE "/usr/share/BaCon/hug_imports.bac"
INIT
' Create your main working window, 250 pixels wide x 100 pixels high
Mainwin = WINDOW( "Hello Title Bar", 250, 100 )
' Create a label with text, 150 x 30
My_label = MARK( "Hello BaCon!", 150, 30 )
' Attach the label to the main window
' at coordinates 50x 20y from top left corner
ATTACH( Mainwin, My_label, 50, 20 )
' Make a button
My_btn = BUTTON( "I'm done", 80, 25)
' Attach button to window
ATTACH( Mainwin, My_btn, 85, 60 )
' Make button do something
CALLBACK( My_btn, QUIT)
' Create a checkbox widget.
My_chk = CHECK( "Nada", 50, 25 )
ATTACH( Mainwin, My_chk, 175, 60 )
' Make it so! (A little Star Trek lingo :-)
DISPLAY
|
|
Back to top
|
|
 |
sunburnt

Joined: 08 Jun 2005 Posts: 5087 Location: Arizona, U.S.A.
|
Posted: Sat 30 Jul 2011, 13:38 Post subject:
|
|
Thanks GatorDog; Actually your first example was so easy to understand...
The only Q was what the numbers were setting. But that`s obvious.
The window and the control statements have their sizes set.
The ATTACH statements set the screen positions relative to the window.
CALLBACK is the button action and DISPLAY is the whole window action.
The ATTACH statements seem unnecessarily overdone.
A less wordy and typing intensive method:
Code: | My_btn = BUTTON( "I'm done", 80, 25, Mainwin, 85, 60 ) |
Just specify everything in one statement, less repetition of words.
Words and typing saved: ATTACH, My_btn, and the extra set of ( ).
Nit-picky I know... But I look at things from an engineering view. KISS.
Q: Apparently a Label is called a MARK? ( My_label = MARK ) Seems so...
This appears to be much closer to the syntax I`ve had in mind.
And BaCon takes this code and produces C executables from it, very nice!
Executables instead of shell scripts to describe and generate GUIs. Great!
The GUIs are bound to be way faster than Bash scrip for sure.
I`ll be taking a serious look at this, I may have more Qs for youGatorDog...
|
Back to top
|
|
 |
GatorDog

Joined: 12 Sep 2006 Posts: 136
|
Posted: Sat 30 Jul 2011, 15:04 Post subject:
Extending "Hello BaCon" |
|
To add a couple of elements to the example.
- STOCK(.....) creates a button using the built in 'icon and text' buttons. ex Quit, Close, etc.
List of built in buttons Built in buttons
- Create a SUB routine()
- Execute the SUB when the button is clicked
Code: | ' BaCon / HUG Hello World
' With SUB routine example
INCLUDE "/usr/share/BaCon/hug_imports.bac"
INIT
' ******************
' SUBS & FUNCTIONS
' ******************
SUB CHANGE_MY_TEXT()
' TEXT changes the text of a widget/My_label
TEXT( My_label, "Goodbye BaCon")
END SUB
' ******************
' END SUBS & FUNCTIONS
' ******************
' Create your main working window, 250 pixels wide x 100 pixels high
Mainwin = WINDOW( "Hello Title Bar", 250, 100 )
' Create a label with text, 150 x 30
My_label = MARK( "Hello BaCon!", 150, 30 )
' Attach the label to the main window
' at coordinates 50x 20y from top left corner
ATTACH( Mainwin, My_label, 50, 20 )
' --- BUTTONS ---
My_btn = BUTTON( "Change text", 100, 25)
ATTACH( Mainwin, My_btn, 5, 60 )
' Make an exit button
My_close = STOCK("gtk-close", 100, 25)
ATTACH(Mainwin, My_close, 140, 60)
' --- CALLBACKS ---
CALLBACK( My_btn, CHANGE_MY_TEXT)
CALLBACK( My_close, QUIT)
' Make it so! (A little Star Trek lingo :-)
DISPLAY
|
rod
Description |
|
Filesize |
25.48 KB |
Viewed |
1130 Time(s) |

|
|
Back to top
|
|
 |
sunburnt

Joined: 08 Jun 2005 Posts: 5087 Location: Arizona, U.S.A.
|
Posted: Sat 30 Jul 2011, 17:51 Post subject:
|
|
Excellent !!!
Q: Is there a good IDE or editor, I noticed several at BaCon.
Also I saw that a compiled version of BaCon can run the Basic files directly.
This means a Visual Basic type of IDE to make GUIs could be built !!!
|
Back to top
|
|
 |
GatorDog

Joined: 12 Sep 2006 Posts: 136
|
Posted: Sat 30 Jul 2011, 23:46 Post subject:
BaConGUI - IDE |
|
Quote: | Q: Is there a good IDE or editor, I noticed several at BaCon. |
I think the answer to that is BaconGUI.
- Write/edit/compile/execute etc.
- Keyword highlighting
- etc.
I haven't tried TinyIDE. Looks like a good option if you're working with limited
system resources.
rod
|
Back to top
|
|
 |
sunburnt

Joined: 08 Jun 2005 Posts: 5087 Location: Arizona, U.S.A.
|
Posted: Sun 31 Jul 2011, 00:45 Post subject:
|
|
Thanks Rod; I downloaded both, but thought I`d ask.
Terry
|
Back to top
|
|
 |
sunburnt

Joined: 08 Jun 2005 Posts: 5087 Location: Arizona, U.S.A.
|
Posted: Sun 31 Jul 2011, 16:57 Post subject:
|
|
Hey Rod; I posted for help getting Puppy to load the devx file, no answers.
I`m wondering what`s in it that`s needed. The dir.: /usr/lib/gcc ?
I noticed that Puppy already has the file: /lib/libgcc_s.so.1
( Maybe it`s not what`s needed at all... )
It appears I have no choice but to try to cobble the compiler together myself.
I downloaded the package for Debian as it has compiled files: bacon and bacongui.
Also the file bacon.bash.
Instead of the library: hug.so it has ".bac" files in: /lib/bacon.
|
Back to top
|
|
 |
GatorDog

Joined: 12 Sep 2006 Posts: 136
|
Posted: Sun 31 Jul 2011, 17:37 Post subject:
|
|
sunburnt
afaik, you need the bacon packages and a compiler such as gcc.
I think you'll want the bacon packages that I posted above. They
should have the latest features and updates. Although they're beta
I personally have not had any issues with them.
You can create hug.so from hug.bac. With bacongui it is very easy.
There is a bacon -option to do that but I haven't used it.
I'll attach a compiled bacon 1.0.24beta, which should work on puppy.
You'll probably need gcc available. Then you can roll you own with
bacon bacongui.bac etc.
rod
Description |
|

Download |
Filename |
bacon-1.0.24beta.tar.gz |
Filesize |
100.79 KB |
Downloaded |
702 Time(s) |
|
Back to top
|
|
 |
sunburnt

Joined: 08 Jun 2005 Posts: 5087 Location: Arizona, U.S.A.
|
Posted: Sun 31 Jul 2011, 21:20 Post subject:
|
|
Thanks Rod; I have the bacon executables: bacon and bacongui in /bin
The gui comes up and I loaded your example, click: tools > execute. Nothing.
As I said, Puppy already has: /lib/libgcc_s.so.1 ... Is this the C compiler?
And then there`s: /usr/lib/gcc/libgcc_s.so ... a link to the library above.
I just got it to convert your example but it errors with:
WARNING: 'cc' not found on this system!
Generated source code cannot be compiled.
Obviously the compiler is missing. Where is it in the SFS file and I can copy it?
|
Back to top
|
|
 |
|
Page 1 of 12 [168 Posts] |
Goto page: 1, 2, 3, ..., 10, 11, 12 Next |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|