GUI drag n drop C code compiler
Jul 3, 2012 6:03:30 GMT 1
Post by bigbass on Jul 3, 2012 6:03:30 GMT 1
A simple and practical tool to compile C code and launch the app when done
try some GTK widgets *.c
*alexfix suggested an " &" added to the end of the command
SYSTEM CONCAT$(" ", NO_EXT_C$, " &")
' dnd-c.bac
'Joe Arose "bigbass"
'July 2nd 2012
' Include the files for making a GUI.
INCLUDE "/usr/share/BaCon/hug.bac"
INIT
SUB entry_demo()
ORIGINAL_FILE$ = GRAB$(My_entry)
file_start$ = "file:///"
'get rid of drag n drop prefixed file://
IF REGEX(ORIGINAL_FILE$ , file_start$) THEN
ORIGINAL_FILE$ = REPLACE$(ORIGINAL_FILE$ , file_start$, "/")
ELSE
ORIGINAL_FILE$ = GRAB$(My_entry)
ENDIF
PKG_CONFIG_OPTIONS$ = EXEC$(CONCAT$("pkg-config ", "--cflags ", "--libs ", "gtk+-2.0"))
NO_EXT_C$ = CONCAT$(CHOP$(ORIGINAL_FILE$, ".c ", 2))
PRINT NL$
PRINT "removed the .c --> ", NO_EXT_C$
PRINT NL$
PRINT "PKG_CONFIG_OPTIONS-->", PKG_CONFIG_OPTIONS$
PRINT NL$
GCC_COMMAND$ = CONCAT$("gcc ", "-Wall ", "-g " ,"`", "pkg-config ", "--cflags ", "--libs ", "gtk+-2.0", "`", " -o ")
PRINT "GCC_COMMAND$-->" ,GCC_COMMAND$
PRINT NL$
'the filtered or unfiltered file gets passed here
'we let your system open the file for viewing based on your defaults
SYSTEM CONCAT$(GCC_COMMAND$, NO_EXT_C$, " " , ORIGINAL_FILE$ )
SYSTEM CONCAT$(" ", NO_EXT_C$, " &")
END SUB
Mainwin = WINDOW( "DND C code compile ", 350, 150)
My_label = MARK( "C code drag file name here ", 300, 30 )
ATTACH( Mainwin, My_label, 10, 10)
FONT(My_label, "sans 12")
My_entry = ENTRY("", 320, 30)
ATTACH( Mainwin, My_entry, 10, 40 )
CALLBACK(My_entry, entry_demo)
' Create a button.
My_button = BUTTON("Compile",80, 30)
ATTACH( Mainwin, My_button , 140, 115 )
CALLBACK(My_button, entry_demo)
' Create a button.
My_button2 = BUTTON("QUIT", 80, 30)
ATTACH( Mainwin, My_button2 , 240, 115)
CALLBACK(My_button2, QUIT)
DISPLAY