Commit graph

2861 commits

Author SHA1 Message Date
Benoît Minisini
8fff3e69bd [GB.JIT]
* NEW: Debugging information is printed as soon as the GB_JIT environmental 
  variable is not null.
* NEW: If LLVM version is lesser than 3.1, a warning message is printed. 
  Normally, a crash should occur just after. :-)


git-svn-id: svn://localhost/gambas/trunk@4779 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-25 22:24:13 +00:00
Tobias Boege
31cdd37ebd [GB.NCURSES]
* NEW: Move .Buffered and .Refresh() from Window to Screen class as Screen
  reflects better that these routines affect the entire screen
* NEW: Window has a Caption property to display a caption within the border
  frame; only visible when the Window has a border
* NEW: Add NoDelay input mode to Screen class (for use with caution and a
  true tty). This mode lets the programmer artifically set the keyboard
  repeat delay for the program (beware: still broken)
* NEW: Add IsConsole property to check if one can enter NoDelay mode
* NEW: Add Repeater property to Screen to specify keyboard repeat
  delay. This specifies the minimum interval of sucessively risen Read
  events and Window.Read() calls
* NEW: Rename Window.WaitKey() to .Read()
* NEW: Rename Window.Bottom() to .Lower() and .Top() to .Raise()
* NEW: Add very-visible mode for cursor, according to ncurses doc
* NEW: Window class has a new optional parameter to specify the parent
  Screen, if none given, the currently active Screen is used.
* NEW: Window class does not get a default event name anymore. If the Read
  event is risen and the active Window cannot raise events, the parent
  Screen raises it (beware: still broken)
* NEW: Window.Border is an integer, new constants .None, .ASCII, .ACS to
  choose the border look
* NEW: Cursor resides on the new location after Window.Print() now
* OPT: Remove redundant wrapping code in Print function because ncurses
  waddch() does this by itself
* OPT: Stream inheritance entirely useless due to future ReadLine()
  function, hence it was removed
* OPT: Remove NCurses class, it contained only component-global routines
  that were moved to main module
* BUG: Turning off attributes with the Normal attribute now works
* BUG: Changes on color attributes (also on color pairs) are immediately
  visible now
* BUG: Fix string argument handling in Window.Ask(), .Insert(), .Print() and
  .PrintCenter()
* BUG: Newline to Window.Print() really works now and gives the desired
  effect of not returning to x=0 on the next line (like ncurses does)



git-svn-id: svn://localhost/gambas/trunk@4778 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-25 21:09:17 +00:00
Laurent Carlier
5dd86fdb1b [GB.JIT]
* NEW: Use AC_PROG_PATH() macro detect llvm-config file. llvm-config file can also be
defined with LLVM_CONFIG environment variable.

Useful in case of several llvm libs installed (see debian!), or non-standard path.


git-svn-id: svn://localhost/gambas/trunk@4777 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-25 15:54:00 +00:00
Benoît Minisini
ac2377df94 [GB.JIT]
* NEW: Enhance configuration file so that gb.jit can be compiled on any
  detected LLVM version, provided that 'llvm-config' is in the PATH.


git-svn-id: svn://localhost/gambas/trunk@4776 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-25 00:50:33 +00:00
Emil Lenngren
8d12476edb [GB.JIT]
* BUG: Really fix enumeration for non-pure objects.



git-svn-id: svn://localhost/gambas/trunk@4775 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-24 23:24:44 +00:00
Emil Lenngren
1777bef542 [GB.JIT]
* NEW: IIf() and Choose() are now implemented.
* BUG: Bug in enum_next.



git-svn-id: svn://localhost/gambas/trunk@4774 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-24 23:16:44 +00:00
Emil Lenngren
b12caea4f6 [INTERPRETER]
* BUG: Fix IIf() function when its arguments have different types.


git-svn-id: svn://localhost/gambas/trunk@4773 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-24 19:01:04 +00:00
Benoît Minisini
b3eba7f652 [INTERPRETER]
* NEW: You can free a null pointer.


git-svn-id: svn://localhost/gambas/trunk@4772 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-24 12:45:21 +00:00
Emil Lenngren
5e63b49525 [GB.JIT]
* NEW: If GB_JIT environment variable is set to "info", LLVM code dumps will be printed to stderr.



git-svn-id: svn://localhost/gambas/trunk@4771 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-24 12:42:07 +00:00
Emil Lenngren
073a6d9e90 [INTERPRETER]
* OPT: Don't allocate array for jit functions if not necessary.



git-svn-id: svn://localhost/gambas/trunk@4770 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-24 12:27:16 +00:00
Benoît Minisini
326c380ff6 [DEVELOPMENT ENVIRONMENT]
* NEW: Handle the FAST keyword in function declaration.

[COMPILER]
* NEW: Each function can be declared individually FAST. The keyword must be
  the first one on the line.

[GB.EVAL]
* NEW: Handle the FAST keyword in function declaration.


git-svn-id: svn://localhost/gambas/trunk@4769 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-24 12:05:21 +00:00
Benoît Minisini
76f3885a08 [SCRIPTER]
* BUG: Do not crash when compiling a program again.

[INTERPRETER]
* OPT: Make API arrays constant.
* OPT: Comparison methods return back to gbx_exec_loop.c


git-svn-id: svn://localhost/gambas/trunk@4768 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-24 00:31:57 +00:00
Emil Lenngren
eb7931d99c [GB.JIT]
* BUG: Fixed a bug in compi.



git-svn-id: svn://localhost/gambas/trunk@4767 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-24 00:07:09 +00:00
Emil Lenngren
406d250935 [GB.JIT]
* NEW: Use special add, sub, mul, compi for JIT Compiler Runtime.



git-svn-id: svn://localhost/gambas/trunk@4766 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-23 23:49:16 +00:00
Benoît Minisini
8056acb60d [GB.DEBUG]
* BUG: gb.debug must not be hidden, stupid!


git-svn-id: svn://localhost/gambas/trunk@4765 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-23 23:40:26 +00:00
Benoît Minisini
8e6dbfa273 [INTERPRETER]
* OPT: Rebirth of _SUBR_add, _SUBR_sub and _SUBR_mul in 'gbx_exec_loop.c'.
* NEW: The code of these functions is now in a shared header named '
  gbx_subr_common.h'.


git-svn-id: svn://localhost/gambas/trunk@4764 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-23 23:39:02 +00:00
Benoît Minisini
327add9439 [GB.DEBUG]
* NEW: The component is hidden now.
* BUG: Do not crash anymore when profiling Eval().

[GB.JIT]
* NEW: The component is hidden now.


git-svn-id: svn://localhost/gambas/trunk@4763 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-23 23:23:00 +00:00
Benoît Minisini
6b2e5d0776 [CONFIGURATION]
* BUG: Add gb.jit directory in the top Makefile.am so that it is compiled.

[INTERPRETER]
* NEW: System.Profile now only deactivate the instruction profiling. 
  Function calls keep being profiled. That way the IDE can read the profiled
  output without crashing!


git-svn-id: svn://localhost/gambas/trunk@4762 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-23 21:35:58 +00:00
Benoît Minisini
947e201117 [INTERPRETER]
* BUG: Now System.Profile has no effect if the project has not been started 
  in profiling mode from the IDE.


git-svn-id: svn://localhost/gambas/trunk@4761 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-23 20:15:32 +00:00
Benoît Minisini
47e099ab72 [GB.JIT]
* BUG: Use component name instead of explicit name in gb.jit configure.ac file.


git-svn-id: svn://localhost/gambas/trunk@4760 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-23 19:56:48 +00:00
Emil Lenngren
3c912da3db [INTERPRETER]
* NEW: Switch to JIT compiler if available, and make it able to talk to gb.jit.
* BUG: GP must be NULL for new void stack frames.

[COMPILER]
* NEW: 'Fast' keyword means the class should be JIT-compiled.

[GB.JIT]
* NEW: JIT Compiler.



git-svn-id: svn://localhost/gambas/trunk@4759 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-23 19:26:15 +00:00
Benoît Minisini
1b33c5dc1a [DEVELOPMENT ENVIRONMENT]
* BUG: CFlt() is now replaced by CFloat() when converting a Gambas 2 project.

[COMPILER]
* BUG: The token following a CONST keyword is now assumed to always be an 
  identifier.


git-svn-id: svn://localhost/gambas/trunk@4758 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-23 18:59:30 +00:00
Benoît Minisini
1518cff7a6 [DEVELOPMENT ENVIRONMENT]
* NEW: Adapt GUI to the new SidePanel look.

[GB.FORM]
* NEW: SidePanel are invisible now.

[GB.QT4]
* BUG: Control.Hovered does no computation anymore, it returns an internal
  flag set when the Enter event is raised, and unset when the Leave event
  is raised.


git-svn-id: svn://localhost/gambas/trunk@4757 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-23 12:11:14 +00:00
Benoît Minisini
fe22f29a69 [DEVELOPMENT ENVIRONMENT]
* BUG: Do not display a spurious message anymore when clicking in a void 
  part of the project tree view with the right mouse button.


git-svn-id: svn://localhost/gambas/trunk@4756 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-23 00:12:43 +00:00
Benoît Minisini
658b01475f [DEVELOPMENT ENVIRONMENT]
* OPT: Use Stream.Lines enumeration instead of LINE INPUT. It is a little bit 
  faster.

[COMPILER]
* BUG: Fix CASE LIKE syntax. Now all CASE LIKE arguments are compared with 
  the LIKE operator. Not just the first one.

[GB.FORM]
* NEW: FileChooser now can handle *.tgz archives.
* NEW: GridView: If the Grid property is FALSE, do not draw row and column
  separators.

[GB.GTK]
* BUG: Fix cached drawing areas.
* BUG: Fix mouse event management for controls having scrollbars.
* BUG: Fix cursor management for DrawingArea.


git-svn-id: svn://localhost/gambas/trunk@4755 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-22 23:32:38 +00:00
Benoît Minisini
cf844ec65e [GB.QT4]
* BUG: Using Draw on a DrawingArea correctly initializes the drawing 
  properties from the control colors.
* BUG: Background color of cached DrawingArea is correctly initialized now.


git-svn-id: svn://localhost/gambas/trunk@4754 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-22 09:15:26 +00:00
Benoît Minisini
d356f49366 [DEVELOPMENT ENVIRONMENT]
* NEW: Some little redesign of the profiling GUI.

[EXAMPLES]
* OPT: Little optimization in GameOfLife example.

[INTERPRETER]
* NEW: System.Profile is a new property to disable or enable the
  profiling at run time. Profiling can only be enabled if debugging
  information are available.

[GB.DEBUG]
* NEW: Abort the program if the profile file is bigger than 512M.


git-svn-id: svn://localhost/gambas/trunk@4753 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-21 22:13:58 +00:00
Benoît Minisini
27a3b9a218 [GB.GTK]
* BUG: gb.gtk compiles again.


git-svn-id: svn://localhost/gambas/trunk@4752 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-21 17:01:59 +00:00
Benoît Minisini
9fa35120a4 [DEVELOPMENT ENVIRONMENT]
* BUG: Profiling: The total function duration is now the same as the sum of 
  each line of code duration.

[WEBSITE MAKER]
* NEW: Add a "Release Notes" link in the menu panel.

[GB.DEBUG]
* NEW: Optimize the profile file format a bit.


git-svn-id: svn://localhost/gambas/trunk@4751 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-21 11:35:13 +00:00
Fabien Bodard
1a9e4d94ca [DEVELOPMENT ENVIRONMENT]
* BUG: Another bug removed, on the ReportBOrder dialog, about the sync.


git-svn-id: svn://localhost/gambas/trunk@4750 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-21 09:02:51 +00:00
Fabien Bodard
d9c4408f7c [DEVELOPMENT ENVIRONMENT]
* BUG: The report border dialog work well now


git-svn-id: svn://localhost/gambas/trunk@4749 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-21 08:06:32 +00:00
Benoît Minisini
70afe05d8d [DEVELOPMENT ENVIRONMENT]
* NEW: Handle new format of profile files.

[INTERPRETER]
* NEW: ON ... GOTO and ON ... GOSUB instructions.

[WEBSITE MAKER]
* NEW: An explicit link button that displays the 'news' page.

[COMPILER]
* NEW: ON ... GOTO and ON ... GOSUB instructions.

[GB.DEBUG]
* NEW: New format for profile, more compact and faster to read.


git-svn-id: svn://localhost/gambas/trunk@4748 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-21 01:09:35 +00:00
Benoît Minisini
b5c6820986 [INTERPRETER]
* NEW: Allow to profile time spent waiting for events.

[GB.DEBUG]
* BUG: New profile file format that allows to profile lines of code that
  are function calls.

[GB.GTK]
* NEW: Profile time spent waiting for events.

[GB.QT4]
* NEW: Profile time spent waiting for events.


git-svn-id: svn://localhost/gambas/trunk@4747 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-20 17:58:34 +00:00
Benoît Minisini
f40a93a398 [DEVELOPMENT ENVIRONMENT]
* NEW: Automatically delete profile files not in used just before running 
  a project.
* BUG: Automatically close profile windows when another project is opened.

[GB.FORM]
* BUG: GridView.AutoResize property now works correctly.
* BUG: GridView: Automatic column widths now take the sorted indicator into 
  account.

[GB.GTK]
* BUG: Automatic pointer grab on mouse events now do not confuse TreeView
  and ColumnView controls anymore.


git-svn-id: svn://localhost/gambas/trunk@4746 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-20 15:04:04 +00:00
Benoît Minisini
f93affd8e9 [DEVELOPMENT ENVIRONMENT]
* NEW: Display callees and callers in the profile window.
* NEW: Display profiling of each line of code.

[INTERPRETER]
* NEW: Activate profiling at the line of code level. Beware, things become
  slower!

[GB.DEBUG]
* NEW: Fix profiling at the line of code level.

[GB.FORM]
* NEW: GridView: Add a Scroll() method.

[GB.QT4.EXT]
* NEW: Editor: Add a ScrollBar property.
* NEW: Editor: Add ScrollX and ScrollY properties.
* NEW: Editor: Add a Scroll method.


git-svn-id: svn://localhost/gambas/trunk@4745 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-20 02:21:43 +00:00
Benoît Minisini
be04525e53 [INTERPRETER]
* BUG: Html$() works correctly again.


git-svn-id: svn://localhost/gambas/trunk@4744 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-19 23:10:12 +00:00
Benoît Minisini
e95ebcae24 [INTERPRETER]
* NEW: Base64() is a new function to encode a string in Base64.
* NEW: UnBase64() is a new function to decode a Base64 string.
* BUG: Eval() is correctly profiled now.

[COMPILER]
* NEW: Base64() is a new function to encode a string in Base64.
* NEW: UnBase64() is a new function to decode a Base64 string.


git-svn-id: svn://localhost/gambas/trunk@4743 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-19 21:35:26 +00:00
Benoît Minisini
f4e30d90a9 [DEVELOPMENT ENVIRONMENT]
* NEW: History has been implemented in profiling windows.

[GB.GTK]
* NEW: Desktop.HasSystemTray is a new property that returns if a system 
  tray has been detected.

[GB.QT4]
* NEW: Desktop.HasSystemTray is a new property that returns if a system 
  tray has been detected.
* BUG: If there is no system tray, showing a TrayIcon now raises an error
  instead of crashing.


git-svn-id: svn://localhost/gambas/trunk@4742 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-19 12:54:48 +00:00
Benoît Minisini
8b6cf089ae [INTERPRETER]
* NEW: gb.ShortDate and gb.MediumDate predefined date formats now always 
  display years with four digits.


git-svn-id: svn://localhost/gambas/trunk@4741 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-19 12:15:51 +00:00
Benoît Minisini
07387ff660 [DEVELOPMENT ENVIRONMENT]
* NEW: Add some debugging options directly in the 'Debug' menu.
* NEW: A new option to activate the profiling of the debugged project.
* NEW: Profiling windows. Not finished yet.

[INTERPRETER]
* BUG: Fix a crash that could occur if a error is raised inside an event 
  handler.
* NEW: Support for profiling.
* BUG: Fix a crash that could occur if a error is raised inside a signal
  callback.

[GB.DEBUG]
* NEW: Support for profiling.

[GB.FORM]
* NEW: GridView now raises a Sort event when the sort properties are 
  changed.
* BUG: Fix a crash when changing the IconPanel Count property.

[GB.GTK]
* BUG: Fix the Font.Copy() method.


git-svn-id: svn://localhost/gambas/trunk@4740 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-19 02:55:05 +00:00
Benoît Minisini
8ad1afe673 [CONFIGURATION]
* NEW: Print disabled components individually.

[GB.QT4]
* BUG: ComboBox background color is correctly handled now.


git-svn-id: svn://localhost/gambas/trunk@4739 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-18 01:19:15 +00:00
Benoît Minisini
d1fb3b885e [GB.GTK]
* BUG: Fix ScreenX and ScreenY properties for Window controls.
* BUG: Consequently, windows with a menu bar work correctly again.
* NEW: MovieBox is not opaque anymore.


git-svn-id: svn://localhost/gambas/trunk@4738 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-17 21:31:18 +00:00
Adrien Prokopowicz
95f477ead0 [GB.XML]
OPT : A few compilation optimizations in headers inclusions.
OPT : Use of separated internal classes of gambas objects. This might prevent from a lot of problems.
OPT : Strings are not stored as wchar_t* anymore, but as simple char*, and are converted only when necessary (like UTF8 characters verification).
OPT : Does not use STL classes anymore. They are too slow.  Uses now handmade classes.
OPT : Nodes are now internally linked to their brothers, so it makes find them really fasters, and allows no longer use of external linked list.
OPT : When creating new nodes, linked Gambas objects are created only when necessary, so it makes internals instanciations very faster (such as the parser).
OPT : Handmade string/memory classes and functions are now separated from the main.cpp component file.
OPT : Use specialized memory management functions (like memcpy, memchr ...) into the parser. They are really faster than C loops, and speeds up the parser for documents that have a lot of plain text.
OPT : Internally, the stream parser (XmlReader) takes only one char, not a unuseful wole string object.
OPT : Does not updates debugging data when parsing a file. They will be generated only if an error is raised (not implemented yet). It will allow a speedier parser and more precise informations.
BUG : When loading a document from a file, now correctly releases the file data.
BUG : Solved a few XmlReader uninitialized variables, that could make the stream parser crash or returns strange results.

git-svn-id: svn://localhost/gambas/trunk@4737 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-17 20:49:54 +00:00
Benoît Minisini
3f26a4e538 [INTERPRETER]
* BUG: Disable debugging messages in signals management routines.


git-svn-id: svn://localhost/gambas/trunk@4736 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-16 22:47:16 +00:00
Benoît Minisini
217c3d9f94 [INTERPRETER]
* BUG: Activate debugging messages in signal management routines.

[GB.GTK]
* NEW: Implement the _NET_MOVERESIZE_WINDOW way of moving windows.
* BUG: Window state (Minimized, Maximized and FullScreen properties) is now 
  accurately returned.


git-svn-id: svn://localhost/gambas/trunk@4735 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-16 21:42:28 +00:00
Benoît Minisini
4a52486b1d [INTEPRETER]
* BUG: Fix race conditions in signals management routines.


git-svn-id: svn://localhost/gambas/trunk@4734 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-16 18:05:57 +00:00
Laurent Carlier
4a91059623 ...and another typo from #4730... sorry!!!!
git-svn-id: svn://localhost/gambas/trunk@4732 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-15 08:17:51 +00:00
Laurent Carlier
6cb7591fad Fix Copy&Paste error from #4730
git-svn-id: svn://localhost/gambas/trunk@4731 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-15 07:56:55 +00:00
Laurent Carlier
9b235b37a4 [GB.PDF]
* BUG: Fix building with poppler-0.20.x

/!\ this changes are not yet tested /!\


git-svn-id: svn://localhost/gambas/trunk@4730 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-15 07:32:03 +00:00
Benoît Minisini
c095cd3f98 [EXAMPLES]
* NEW: PhotoTouch and MediaPlayer examples now use the gb.gui component.

[GB.GTK]
* NEW: Make GTK+ controls borderless, so that they are "transparent" like 
  gb.qt4 controls. This is work in progress! The PhotoTouch example now 
  works correctly with gb.gtk, the brightness dialog excepted.
* BUG: ScrollBars are correctly initalized now.
* BUG: Container.Find() does not take hidden controls into account anymore.

[GB.IMAGE]
* BUG: Image.Opacity() can handle images with premultiplied alpha correctly 
  now.

[GB.FORM]
* BUG: IconView: Item text is ellipsized without printing GTK+ warnings 
  anymore.


git-svn-id: svn://localhost/gambas/trunk@4729 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-15 01:22:45 +00:00