Commit Graph

16 Commits

Author SHA1 Message Date
rephorm abf7d8f0ee some patches by Nicolas Pomarede:
LMB will scroll one screen when pressed in the scrollbar area.
Middle and Right MB will move the scroll bar slider to the clicked
position directly.

So this is rather similar to the behaviour we have in standard GTK apps
for example.

Also, I corrected a small bug in view.c and scrollbar.c that could lead to
the scrollbar beeing redrawn outside the view (because "value" was
recalculated before "range" and "max" were set ; and since value depends
on max and range, this could lead to value of value that were too big).

Thanks Nicolas!


SVN revision: 5976
2002-02-24 06:48:14 +00:00
rephorm dbc39567f3 buffer overflow prevention....
SVN revision: 5853
2002-01-24 06:15:40 +00:00
rephorm e8e42fa701 Cleanup should be static, so it can't be accidentally called externally.
SVN revision: 5837
2002-01-15 02:24:14 +00:00
rephorm 84d0e5b50a convert scrollbar to object system
get rid of compiler warnings


SVN revision: 5823
2002-01-07 01:37:39 +00:00
rephorm 8bbd04e127 hmm. don't know what i was thinking there.
this should work better.


SVN revision: 5822
2002-01-06 21:02:02 +00:00
rephorm 1da030ae9e Keep on scrolling.
As long as you hold down the scroll buttons, it will scroll.


SVN revision: 5821
2002-01-06 20:46:52 +00:00
rephorm 28f489bd50 Allow scrollbars with width/height other than 12
Click in trough scrolls to that point.


SVN revision: 5819
2002-01-06 10:22:31 +00:00
cpk a708bdfd42 * More cleanups. I took out everything related only to icon handling
from the view code, and put it into icons.[ch].

* Added the relative desktop move path from Alan Schmitt.


SVN revision: 5616
2001-11-03 14:55:21 +00:00
cpk 02379472ae Alright, I spent some time now reading e17's code. Here's what
I've changed, this is big, so read this carefully :)

* I've added debugging macros for messages and function call
tracing. Usage:

  D("Creating item %i %i %i\n", x, y, z);

Define DEBUG to use the D macro.

  D_ENTER;
  D_RETURN;
  D_RETURN_(x);

These are for call tracing. Use D_RETURN_(x) when returning
something from a function. Define DEBUG_NEST to use this.

* added iconbar header file to Makefile.am
* added proper new()/cleanup() calls for E_Delayed_Action;

* I've completely rewritten the object and observer handling. Bye
bye macros, this was nasty. It'll be hard enough to avoid leaks
with usecounting in C. We now basically have the same system as gtk.
There's a clear separation of observer and object code now.
An E_Object by itself has nothing to do with observing or being
observed, therefore, there are now E_Observers and E_Observees
that are derived from E_Object. IMPORTANT: The cleanup system now
reflects the reference count system, therefore, all ..._free()
calls are now static, because the destructor should never be called explicitly, but implicitly through e_object_unref(). The object handling
now is as follows:

  - The cleanup functions clean up everything that is contained in
a struct, but NOT the struct itself. Instead of the final
free() call, they call the destructor of the base class. The
calls will walk up the hierarchy and clean up what's contained in
every struct, and the final e_object_cleanup() will free the
structure itself. E_Delayed_Action is a good example.

  - The only calls that influence the reference count are
e_object_ref() and e_object_unref(). If you need to do things
before an object gets destroyed, you can query the use count using
e_object_get_usecount() and check if it's equal to 1. So this:

  OBJ_UNREF(b);
  OBJ_IF_FREE(b)
   {
     ecore_window_reparent(e->win, 0, 0, 0);
     e_icccm_release(e->win);
     OBJ_FREE(b);
   }

   now is this:

  if (e_object_get_usecount(E_OBJECT(b)) == 1)
    {
      ecore_window_reparent(e->win, 0, 0, 0);
      e_icccm_release(e->win);
    }

   e_object_unref(E_OBJECT(b));

object.h and observer.h are completely commented, it shouldn't be
too hard to understand. This'll need to be documented in the manual
anyway.

* E_Objects are now used in lots of places where void* were used as
pointers to objects before, especially in the actions code. This is
obviously better, as it will generate compiler warnings when people
want to pass things to functions that expect E_Objects. This could
probably be more restrictive.

* Added typedefs for the function prototypes in E_Action_Impl. Those
fat signatures were just painful to read in the function
declarations/implementations.

* I've also tried to give parameters more useful names. Calling an
object "o" is a lot of fun when you want to grep for it.

* Included is also Graham's latest menu.c patch. Sorry for the
delay, Graham.

* I've added checks to the menu code that make sure that menus
don't pop up when they're empty (which resulted in a little useless
rectangle).

I guess that's it for now. Sorry if I broke anything, but this was
necessary imho.


SVN revision: 5605
2001-11-02 17:07:52 +00:00
cpk a41a7d8875 * Replaced all the 4096's with PATH_MAX, added a default setting if
it doesn't exist.

* Renamed E_Action_Proto to E_Action_Impl. I think that's more intuitive

* Renamed the xxx_go functions to xxx_cont. It took me a while to understand the difference between "start" and "go".

* Some line wrapping and cosmetics.


SVN revision: 5475
2001-10-12 20:13:01 +00:00
Carsten Haitzler 1e810437ae go go go... :)
SVN revision: 5376
2001-09-25 16:37:00 +00:00
Carsten Haitzler 349a1016c6 started work on guides (for rubber banding etc.) and changed code to match
ebits changes... (sorry everyone.. ebtis changes needed doing)


SVN revision: 5333
2001-09-06 13:20:35 +00:00
Carsten Haitzler 14f5d57ee5 work work.. smell smell - scrollbars in and mostly functioning
SVN revision: 5135
2001-08-13 06:35:14 +00:00
Carsten Haitzler 3718f7ecb2 efsd respawnign by e17 is more robust now...
SVN revision: 5078
2001-08-09 23:48:40 +00:00
Mandrake 619bcacc97 actions.c:
Now the "Execute" action actually does something useful, like, say, execute
the contents of the parameters :)

scrollbar.c:
removed 2 warnings


SVN revision: 5065
2001-08-08 23:16:35 +00:00
Carsten Haitzler dd30bfa6e8 add skeleton of scrollbar code... more meat to be added...
SVN revision: 5048
2001-08-07 02:50:22 +00:00