Commit graph

366 commits

Author SHA1 Message Date
Benoît Minisini
361f89dd57 [DEVELOPMENT ENVIRONMENT]
* BUG: Creating a directory in the project treeview should not segfault 
  anymore.
* BUG: Moving a source file now correctly refreshes the project treeview.
* BUG: Project treeview popup menu now is correctly filled on directories.

[GB.QT4]
* BUG: TreeView does not raise keyboard events anymore during renaming 
  mode.


git-svn-id: svn://localhost/gambas/trunk@5030 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-08-11 15:08:23 +00:00
Benoît Minisini
7c9f99fef6 [INTERPRETER]
* NEW: Add a GB.FreeStringLater() API to allow components to create a new
  string with GB.NewString(), and let the interpreter frees it later.

[GB.GSL]
* NEW: Add a ToString() method to all classes. That method takes two 
  arguments: the first one tells if number must be localized. The second 
  one tells if complex numbers and polynomials are converted to a string
  that can be sent to Eval().
* BUG: Adding a number N to a Matrix A is equivalent to adding N times the
  identity matrix.
* NEW: The '^' operator has been implemented in the Matrix class. Only A^N
  where N is an integer is valid.


git-svn-id: svn://localhost/gambas/trunk@4955 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-15 13:07:57 +00:00
Benoît Minisini
c1212ac95e [INTERPRETER]
* OPT: Remove a useless test in the macro that returns the class of an 
  object.
* OPT: Some little optimization in some type checks.


git-svn-id: svn://localhost/gambas/trunk@4939 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-10 19:57:43 +00:00
Benoît Minisini
1393597f4f [CONFIGURATION]
* BUG: When a top-level source directory actually several components, 
  compile the sub-components *after* the main components. This is 
  especially important with gb.xml and gb.xml.rpc.


git-svn-id: svn://localhost/gambas/trunk@4884 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-02 17:51:54 +00:00
Benoît Minisini
1b53072866 [DEVELOPMENT ENVIRONMENT]
* NEW: Do not set the APPMENU_DISPLAY_BOTH environmental variable anymore.
  It seems to work now.

[EXAMPLES]
* NEW: Fractal: increase the maximum number of iterations when the zoom 
  level is higher.

[GB.GTK]
* BUG: Control.Hovered now works the same way as in gb.qt4.

[GB.FORM]
* NEW: SidePanel handles have a fixed width now (6 pixels).


git-svn-id: svn://localhost/gambas/trunk@4849 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-19 09:29:59 +00:00
Benoît Minisini
f24d7b1899 [GB.FORM.MDI]
* NEW: Do not disable toolbars when they are configured. Otherwise drag &
  drop does not work with gb.gtk.

[GB.FORM.STOCK]
* NEW: Some icons updates.
* BUG: Add the 'earth' icon in the stock.

[GB.GTK]
* BUG: Fix drag & drop support.
* NEW: Draw.Tile() does not transform pixbufs into a pixmaps anymore.


git-svn-id: svn://localhost/gambas/trunk@4821 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-12 01:50:46 +00:00
Benoît Minisini
64fef6f598 [DEVELOPMENT ENVIRONMENT]
* BUG: If the project is read-only, the profile file is stored in the 
  process temporary directory in /tmp instead of the project directory.
* NEW: The name of profile files now follows this scheme: '.N.prof', where
  'N' is an index incremented each time the project is run.
* BUG: Toolbars and popup-menus are correctly updated at first load form
  text, source and form editors.
* BUG: Do not show or hide toolbars buttons outside of the toolbar 
  'Configure' event.

[INTERPRETER]
* NEW: The '-p' option now takes the profile file path as argument.

[GB.DEBUG]
* NEW: The profile file path can be specified on the command line.

[GB.FORM.MDI]
* NEW: Configured toolbars are drawn with a red frame.

[GB.GTK]
* BUG: Remove warnings displayed by the Control Raise() and Lower() 
  methods.
* BUG: Draw.Style methods now are correctly clipped.


git-svn-id: svn://localhost/gambas/trunk@4820 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-10 14:58:45 +00:00
Benoît Minisini
835dd33dcf [GB.DEBUG]
* NEW: GB_PROFILE_MAX environment variable now can take the maximum size of 
  a profile file in megabytes. The default value is 512 Mb. The minimum
  value is 128 Mb, and the maximum value is 4096 Mb.


git-svn-id: svn://localhost/gambas/trunk@4816 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-09 13:39:47 +00:00
Benoît Minisini
c828342220 [DEVELOPMENT ENVIRONMENT]
* NEW: Relayout the GUI of the new packaging options.


git-svn-id: svn://localhost/gambas/trunk@4809 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-05 07:39:31 +00:00
Benoît Minisini
7e3570bfc9 [DEVELOPMENT ENVIRONMENT]
* OPT: Use Application.Busy earlier when opening a project.

[WIKI CGI SCRIPT]
* BUG: Fix links with explicit version.

[INTERPRETER]
* BUG: Setting System.Profile does not crash the interpreter anymore when
  profiling has not been activated by the '-p' command-line flag.

[GB.FORM]
* NEW: FileChooser and DirChooser: It is now possible to move up one 
  directory even if we are on the root of the current bookmark.

[GB.JIT]
* BUG: Fix some warnings.

[GB.XML.RPC]
* BUG: Fix component requirements.


git-svn-id: svn://localhost/gambas/trunk@4806 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-03 22:21:24 +00:00
Benoît Minisini
16bc53f245 [GB.FORM]
* NEW: GridView: Setting the height of a row to -1 now makes it fit its
  contents.


git-svn-id: svn://localhost/gambas/trunk@4804 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-02 19:14:33 +00:00
Benoît Minisini
ff93548e41 [DEVELOPMENT ENVIRONMENT]
* BUG: Profile windows correctly display line numbers now.

[GB.FORM]
* NEW: Hidden transparent SidePanel controls now have a large handle.

[GB.QT4.EXT]
* NEW: Editor: Line numbers are not drawn behind a procedure separator.
* NEW: Editor.NoFolding is a new flag to disable procedure folding support.
* NEW: Editor.LineOffset is a new property to define the line number just
  before the first displayed line (zero by default).


git-svn-id: svn://localhost/gambas/trunk@4803 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-06-02 14:44:00 +00:00
Benoît Minisini
05c354e56e [EXAMPLES]
* OPT: Fractal: optimize drawing by detecting rectangles having the same 
  color.


git-svn-id: svn://localhost/gambas/trunk@4786 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-26 23:20:19 +00:00
Benoît Minisini
2375145a67 [DEVELOPMENT ENVIRONMENT]
* OPT: Use JIT compiler to speed-up the loading of profile files.

[EXAMPLES]
* NEW: Display a rose inside the window of the Fractal example. Why not?


git-svn-id: svn://localhost/gambas/trunk@4784 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-26 18:13:09 +00:00
Benoît Minisini
cea7c17b4c [EXAMPLES]
* BUG: Really allow to switch to JIT compilation!


git-svn-id: svn://localhost/gambas/trunk@4781 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-26 11:21:13 +00:00
Benoît Minisini
e4dcaa0e41 [EXAMPLES]
* NEW: A new Fractal example that draws the Mandelbrot set with an option 
  to enable just-in-time compilation.


git-svn-id: svn://localhost/gambas/trunk@4780 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-26 11:19:22 +00:00
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
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
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
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
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
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
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
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
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
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
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
Benoît Minisini
659f1bf51f [INTERPRETER]
* BUG: Fix a crash when using 'gb.Like' comparison flag.


git-svn-id: svn://localhost/gambas/trunk@4724 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-12 12:04:20 +00:00
Benoît Minisini
17f5f0fa0c [GB.MEDIA]
* NEW: MediaControl Tag event now takes a MediaTagList object as argument.
  That object contains all tags received at event time. Not all possible 
  tags are supported yet.

[EXAMPLES]
* NEW: MediaPlayer: Add a panel that displays information about the media
  file get through the Tag event.


git-svn-id: svn://localhost/gambas/trunk@4723 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-09 00:47:21 +00:00
Benoît Minisini
06bdf63a4c [GB.SETTINGS]
* NEW: Setting.Clear() without arguments now entirely clears all settings.


git-svn-id: svn://localhost/gambas/trunk@4720 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-07 09:20:25 +00:00
Benoît Minisini
8be12f5027 [DEVELOPMENT ENVIRONMENT]
* NEW: Define the 'Exec' preprocessor constant when making an executable.
* BUG: Packager: Replace spaces with underscores when using the vendor name 
  as package name prefix.
* BUG: Packager: Fix "make uninstall" in autoconf packages.

[INTERPRETER]
* BUG: Allow to override native array classes without crashing.

[COMPILER]
* NEW: New '-x' option to define the 'Exec' preprocessor constant.

[EXAMPLES]
* NEW: MediaPlayer: Real-time seeking.
* NEW: MediaPlayer: Use gb.desktop to suspend the screen saver while 
  playing a media file.


git-svn-id: svn://localhost/gambas/trunk@4715 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-05 00:39:43 +00:00
Benoît Minisini
826fd20bfb [EXAMPLES]
* BUG: MediaPlayer: Forgot to add a picture.


git-svn-id: svn://localhost/gambas/trunk@4711 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-03 09:35:31 +00:00
Benoît Minisini
bb46919337 [EXAMPLES]
* NEW: MediaPlayer: Add volume support.
* NEW: MediaPlayer: Add many visualisation plugins.

[GB.MEDIA]
* BUG: MediaPlayer: Fix Audio.Current, Video.Current and Subtitle.Current
  properties.
* BUG: MediaPlayer: Fix Audio.Mute property.
* NEW: MediaControl: Add a Tag property.


git-svn-id: svn://localhost/gambas/trunk@4710 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-02 23:22:13 +00:00
Benoît Minisini
15c6faaa0c [EXAMPLES]
* NEW: Use "wavescope" plugin to visualize audio files.


git-svn-id: svn://localhost/gambas/trunk@4708 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-02 11:47:04 +00:00
Benoît Minisini
88c69c85ba [EXAMPLES]
* NEW: New MediaPlayer example based on the new gb.media GStreamer 
  component.

[GB.GTK]
* BUG: Utility windows are make transient the same way as in gb.qt4.

[GB.MEDIA]
* NEW: MediaControl.SetWindow() is a new method to associate a GUI control
  to a GStreamer plugin implementing the 'X overlay' interface.


git-svn-id: svn://localhost/gambas/trunk@4706 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-02 11:34:03 +00:00
Benoît Minisini
2ed966336b [EXAMPLES]
* NEW: Move Sound and Video examples to a new Multimedia folder.


git-svn-id: svn://localhost/gambas/trunk@4704 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-01 21:12:06 +00:00
Benoît Minisini
a6e9f61ee1 [CONFIGURATION]
* NEW: Update *.component files to the new format.
* BUG: Fix component TEMPLATE directory.

[EXAMPLES]
* NEW: PhotoTouch: Display the browsed directory path.

[INTERPRETER]
* NEW: Change the 'main' hook syntax. Add a macro to call the previous 
  'main' hook, so that several hooks can be declared.

[GB.MEDIA]
* NEW: New multimedia component based on GStreamer.

[GB.GTK]
* BUG: Fix timer management so that it is compatible with the GB.Every()
  interpreter API.
* NEW: Allows multiple 'main' hooks.

[GB.QT4]
* NEW: Allows multiple 'main' hooks.


git-svn-id: svn://localhost/gambas/trunk@4693 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-30 00:04:51 +00:00
Benoît Minisini
6333ee7a1f [EXAMPLES]
* NEW: Some little fixes in PhotoTouch example.


git-svn-id: svn://localhost/gambas/trunk@4684 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-27 17:11:18 +00:00
Benoît Minisini
2ac8f35356 [EXAMPLES]
* NEW: Some fixes and new keyboard shortcuts in the PhotoTouch example.


git-svn-id: svn://localhost/gambas/trunk@4683 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-27 12:56:47 +00:00
Benoît Minisini
1789fd1045 [DEVELOPMENT ENVIRONMENT]
* BUG: Fix dependencies on libraries in the packager.


git-svn-id: svn://localhost/gambas/trunk@4681 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-27 02:40:27 +00:00
Benoît Minisini
fe80c39a69 [INTERPRETER]
* BUG: Remove the use and the definition of long double mathematic 
  functions. They are not used anymore.


git-svn-id: svn://localhost/gambas/trunk@4679 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-25 21:12:03 +00:00
Benoît Minisini
425137546d [EXAMPLES]
* NEW: PhotoTouch got a "save all" feature and some bug fixes.


git-svn-id: svn://localhost/gambas/trunk@4676 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-25 15:46:48 +00:00
Benoît Minisini
c588ee58a2 [EXAMPLES]
* BUG: PhotoTouch does not crash anymore when the browsed directory has no 
  pictures.
* NEW: PhotoTouch now can save the modified pictures to their original 
  emplacement. A backup is made.
* NEW: PhotoTouch has a temporary undo stack now.



git-svn-id: svn://localhost/gambas/trunk@4675 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-25 14:49:09 +00:00
Benoît Minisini
3f1bb044cb [EXAMPLES]
* NEW: PhotoTouch example becomes better.

[GB.DB.FORM]
* BUG: Fix use of old GridView property in DataComboView.

[GB.FORM]
* NEW: IconView.Key is now writable, so that we can define the current 
  item.


git-svn-id: svn://localhost/gambas/trunk@4670 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-25 08:39:35 +00:00
Benoît Minisini
53fb481eee [EXAMPLES]
* NEW: Add a browse mode to the PhotoTouch example.


git-svn-id: svn://localhost/gambas/trunk@4668 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-24 14:04:23 +00:00
Benoît Minisini
1189c52ae1 [EXAMPLES]
* NEW: Fix and enhance PhotoTouch example.


git-svn-id: svn://localhost/gambas/trunk@4667 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-24 12:33:52 +00:00
Benoît Minisini
75f7ff9390 [WIKI CGI SCRIPT]
* BUG: Handle public variables like properties.

[EXAMPLES]
* NEW: A new PhotoTouch example I made so that my father can edit its photo
  with a simple software.


git-svn-id: svn://localhost/gambas/trunk@4665 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-23 21:13:33 +00:00
Benoît Minisini
de083e583d [GB.LIBXML]
* NEW: Rename the gb.xml component as gb.libxml.

[GB.LIBXML.XSLT]
* NEW: Rename the gb.xml.xslt component as gb.libxml.xslt

[GB.LIBXML.RPC]
* NEW: Rename the gb.xml.rpc component as gb.libxml.rpc


git-svn-id: svn://localhost/gambas/trunk@4640 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-20 01:01:48 +00:00
Benoît Minisini
53a5546a91 [GB.QT4]
* BUG: Fix the Enter/Leave events management so that Enter events are
  correctly generated when a control is destroyed.


git-svn-id: svn://localhost/gambas/trunk@4603 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-04-06 13:24:36 +00:00