Thursday, 12 February 2009

A Lazarus Question

Eventually, I'd like to make kharne multi-platform. Whilst I wouldn't consider myself a Linux fetishist to any great extent (I only have Windows XP machines at home, by choice), I do think that by-and-large multi-platform compability is overall a Good Thing (tm). I've been browsing the website of The Lazarus Project, the multi-platform alternative to Delphi, and pondering what it would take to swap over development to said toolkit.

But it appears that at the moment, Lazarus isn't in a state that will allow me to do so. According to the Lazarus for Delphi Users wiki, support for dragging-and-dropping is either non-existant or extremely cripped. I'm somewhat surprised at this, since dragging and dropping is a fundamental part of a windowing interface. But the relevant part of the wiki that states this hasn't been updated since December 2007. Does anyone know if drag-and-drop is still a problem in Lazarus?

If it is, and since the primary Inventory functionality in Kharne is drag-and-drop based (and will stay that way), until such time as drag-and-drop is fully implemented in Lazarus, there will be no Lazarus port and Kharne will remain Windows only.

Which is disappointing. Deeply disappointing.

6 comments:

Anonymous said...

Have a look at this:

http://forum.lazarus.freepascal.org/index.php/topic,4024.0.html

Thus, I think, drag and drop should be possible.

Anonymous said...

(by the way, despite the name of the guy in the forum, its not me ...)

Anonymous said...

Sorry for spamming, but I looked in the wiki you mention. It says:

"eg. dragging a control from one panel, and docking it onto another panel at run time."

I think this does not talk about drag'n'drop at all. It talks about dragging CONTROLS from one panel onto another. I understand this as dragging and dropping of e.g. toolbars or sidebars docked in a window etc.

Dave said...

Mario, hmmmm. Maybe I have misunderstood? Item drag-and-drop in Kharne is effectively dragging a TPanel onto another TPanel. The control isn't physically moved or anything though.

Anonymous said...

Lazarus contains an example in which you drag a button onto a panel. This works perfectly. It's in the examples folder, named "dragimagelist".

Dave said...

Cheers Mario, I'll take a new look at Lazarus then!