Re: UDPM name space finalization

2003-06-04 Thread William R Ward
One quick comment - why not follow DBI's lead and use ::PurePerl:: instead
of ::Perl::?

--Bill.

-- 
William R Ward[EMAIL PROTECTED]  http://www.wards.net/~bill/
-
A foolish consistency is the hobgoblin of little minds, adored by
 little statesmen and philosophers and divines.- Emerson


Re: UDPM name space finalization

2003-06-04 Thread Kevin C. Krinke
UI::Dialog
UI::Dialog::GNOME
UI::Dialog::KDE
UI::Dialog::Console
UI::Dialog::Backend::Zenity
UI::Dialog::Backend::GDialog
UI::Dialog::Backend::XDialog
UI::Dialog::Backend::KDialog
UI::Dialog::Backend::CDialog
UI::Dialog::Backend::Whiptail
UI::Dialog::Backend::ASCII

(future native perl extensions)
UI::Dialog::PurePerl
UI::Dialog::Backend::PurePerl::GTK
UI::Dialog::Backend::PurePerl::Wx
UI::Dialog::Backend::PurePerl::Tk
UI::Dialog::Backend::PurePerl::QT

...and the beat goes on...

-- 
Kevin C. Krinke [EMAIL PROTECTED]
Open Door Software Inc.



Re: UDPM name space finalization

2003-06-04 Thread Christopher Hicks
On 3 Jun 2003, Kevin C. Krinke wrote:
 ...and the beat goes on...

Would somebody give Kevin a cookie for his concerted effort to get this
audiences' difficult approval?  His persistance is admirable IMHO.

-- 
/chris

Programming is a Dark Art, and it will always be. The programmer is
fighting against the two most destructive forces in the universe:
entropy and human stupidity. They're not things you can always
overcome with a methodology or on a schedule.
-Damian Conway, Perl God



Re: UDPM name space finalization

2003-06-04 Thread Smylers
Kevin C. Krinke writes:

 UI::Dialog::Backend::GDialog
  ^^^^

Sorry to bring this up again, but I still don't see how the second
Dialog helps clarify anything in the slightest.

Having gone past UI::Dialog::Backend, we know that it is a
user-interface thing, related to dialogue boxes, and provides a type of
backend.  Learning that the particular backend in this instance is a
_dialog_ backend does not in anyway add to the knowledge about it: if it
wasn't a dialog backend then it wouldn't be under UI::Dialog::Backend.

Smylers



Re: UDPM name space finalization

2003-06-04 Thread Kevin C. Krinke
On Tue, 2003-06-03 at 15:05, Smylers wrote:
 Kevin C. Krinke writes:
 
  UI::Dialog::Backend::GDialog
   ^^^^
 
 Sorry to bring this up again, 

Sure you are... :)

 but I still don't see how the second
 Dialog helps clarify anything in the slightest.
 Having gone past UI::Dialog::Backend, we know that it is a
 user-interface thing, related to dialogue boxes, and provides a type of
 backend.  Learning that the particular backend in this instance is a
 _dialog_ backend does not in anyway add to the knowledge about it: if it
 wasn't a dialog backend then it wouldn't be under UI::Dialog::Backend.

The significance of the second dialog is that it's part of the name of
the 3rd party binary which the particular backend wraps around. You'll
notice that in my last name space list, the second dialog isn't
consistent among the backends and so IMO is not redundant and instead
respectful (to the name of the wrapped software) and intuitive (for
those who use any of these dialog variants in shell scripts, and would
rather do things in Perl than SH, will automatically know the feature
set with little thought).

The idea is that if you don't know what the backend is for... who cares?
Use the UI::Dialog::GNOME or UI::Dialog::Curses modules and let the
module figure out the best one for your environment. Heck don't even use
a UI::Dialog::Class... just use the UI::Dialog one and it'll Do The
Right Thing (tm) based on the user's environemnt. From GUI to no binary
(native ASCII) something's bound to work :) Of course when using these
modules you don't have access to variant-specific widgets like the
various calendar implementations. But if you've heard of Xdialog and
know it can do lots of things, well then you can use the specific
backend directly and get access to all the features of Xdialog instead
of just the compatible features made available by any of the
non-Backend meta-modules.

So basically I don't have a real choice as to what the Backends are
called. They're just called the same name of the app they wrap.

-- 
Kevin C. Krinke [EMAIL PROTECTED]
Open Door Software Inc.



Re: UDPM name space finalization

2003-06-04 Thread Tim Bunce
All seems fine to me.

Tim.

On Tue, Jun 03, 2003 at 09:17:13PM -0400, Kevin C. Krinke wrote:
 UI::Dialog
 UI::Dialog::GNOME
 UI::Dialog::KDE
 UI::Dialog::Console
 UI::Dialog::Backend::Zenity
 UI::Dialog::Backend::GDialog
 UI::Dialog::Backend::XDialog
 UI::Dialog::Backend::KDialog
 UI::Dialog::Backend::CDialog
 UI::Dialog::Backend::Whiptail
 UI::Dialog::Backend::ASCII
 
 (future native perl extensions)
 UI::Dialog::PurePerl
 UI::Dialog::Backend::PurePerl::GTK
 UI::Dialog::Backend::PurePerl::Wx
 UI::Dialog::Backend::PurePerl::Tk
 UI::Dialog::Backend::PurePerl::QT
 
 ...and the beat goes on...
 
 -- 
 Kevin C. Krinke [EMAIL PROTECTED]
 Open Door Software Inc.
 


Re: UDPM name space finalization

2003-06-01 Thread Fergal Daly
Sorry to bring this up again, I should have chased it more the last time but 
what exactly is UNIXy about about this module?

The reason given previously was that all the dialog programs run on UNIX. That 
seems fairly incidental, it's not like there can't be dialog be programs for 
windows, Mac, Amiga etc and quite possibly there are. I presume if The Gimp 
can be compiled on windows then surely gDialog could be and KDialog could 
probably be ported easily as it's based on the QT toolkit.

If I was searching for a dialog module on CPAN, unix would not be one of my 
search terms and if someone ever does write a backend for a windows dialog 
program then anyone who tries to find it could be confused by the UNIX and 
assume it won't work under windows.

I just don't see any fundamental UNIX connection. Is there a reason why this 
module could never work on anything else?

UI::Dialog::* seems like a much more apt prefix and as someone pointed out in 
another thread, there's nothing wrong with starting a new toplevel namespace 
as long as it makes sense and you don't hog the whole thing,

F



Re: UDPM name space finalization

2003-05-30 Thread Smylers
Kevin C. Krinke writes:

 Ok I've decided on the following name space:
 
 Unix::Dialog- meta module
 Unix::Dialog::ASCII - native mode
 Unix::Dialog::Dialog- console (preferred)

Having Dialog twice doesn't really aid with working out what it is; I
don't immediately see what anybody gains from the second Dialog that
they wouldn't've worked out from the first.

Unix::Dialog::Console, perhaps?

 Unix::Dialog::Whiptail  - console

Whiptail means nothing to me, but if it's a console thing how about
Unix::Dialog::Console::Whiptail?  (Yes, that's a long name, but you do
seem to want to discourage people from using it.)

 Unix::Dialog::Zenity- GNOME (preferred)
 Unix::Dialog::GDialog   - GNOME
 Unix::Dialog::KDialog   - KDE
 Unix::Dialog::XDialog   - X

Again the repetition of Dialog doesn't seem to help things.  Removing
it from those last three would give:

  Unix::Dialog::X
  Unix::Dialog::G
  Unix::Dialog::K

If I saw those I'm not sure I'd guess what G and K stand for.  There
doesn't seem to be any reason for not using their full names:

  Unix::Dialog::Gnome
  Unix::Dialog::KDE

And then perhaps:

  Unix::Dialog::Gnome::Zenity

Smylers



Re: UDPM name space finalization

2003-05-30 Thread Kevin C. Krinke
Heh, it seems I've neglected to mention the significance of the
Unix::Dialog module. All the rest are the back-ends and lumping them
into X, Gnome, and KDE would not maintain the clean separation that I'm
now looking for.

This example should help to illustrate:

EXAMPLE
#!/usr/bin/perl
use Unix::Dialog;

#: auto-detect in order: Zenity, GDialog, XDialog
my $GNOME = new Unix::Dialog::GNOME (defaults=values);

#: auto-detect in order: KDialog, XDialog
my $KDE = new Unix::Dialog::KDE (defaults=values);

#: auto-detect in order: XDialog, Zenity, GDialog, KDialog
my $X = new Unix::Dialog::X (defaults=values);

#: auto-detect in order: Dialog, GDialog, Whiptail, Native ASCII
my $Console = new Unix::Dialog::Console (defaults=values);

#: auto-detect in order:
#:   if $ENV{DISPLAY} ... Zenity, GDialog, KDialog, XDialog
#:   else ... Dialog GDialog, Whiptail, Native ASCII
my $ASCII = new Unix::Dialog (defaults=values);
/EXAMPLE

The above classes are all included within the Unix/Dialog.pm so that
one module gives you access to all back-ends. Unix::Dialog will simply
return a new object of the appropriate sub-class. This way things like
ref($d) will report nice and clean strings like Unix::Dialog::Zenity and
all modules will have a method called what_am_i() that will return one
of the following as appropriate: GNOME, KDE, CONSOLE. When using any of
the Unix::Dialog meta module sub classes, the  new objects are
initialized in a compatibility mode where variant-specific functionality
is disabled (to a certain extent depending on the back-end).

On Thu, 2003-05-29 at 17:54, Smylers wrote:
 Kevin C. Krinke writes:
 
  Ok I've decided on the following name space:
  
  Unix::Dialog- meta module
  Unix::Dialog::ASCII - native mode
  Unix::Dialog::Dialog- console (preferred)
 
 Having Dialog twice doesn't really aid with working out what it is; I
 don't immediately see what anybody gains from the second Dialog that
 they wouldn't've worked out from the first.

Having dialog twice may not make sense at first glance but it is not
intended to be used directly unless you want to force a specific
dialog variant instead of using the Unix::Dialog meta module. If people
have strong feelings that Unix::Dialog::Dialog is way too bad, I could
compromise with Unix::Dialog::cDialog as that's what the project is now
called even though the binary is still just 'dialog'.

I've chosen this meta module hierarchy for the specific purpose of not
having overly long name space extensions and to avoid the necessity of
single letter abbreviations within the name space.

Or maybe I'm not headed in the right direction with this meta module
stuff and you all would like to have something like the following name
space hierarchy instead: 

Unix::Dialog - does nothing, simply POD
Unix::Dialog::Gnome  - auto zenity gdialog Xdialog
Unix::Dialog::Gnome::Zenity
Unix::Dialog::Gnome::GDialog
Unix::Dialog::KDE- auto kdialog, Xdialog
Unix::Dialog::KDE::KDialog
Unix::Dialog::X  - auto gnome, kde, X
Unix::Dialog::Console- auto dialog, gdialog, whiptail, ASCII
Unix::Dialog::Console::Dialog
Unix::Dialog::Console::Whiptail
Unix::Dialog::Console::ASCII

Thanks for your feedback, all is welcome and appreciated.

PS: For those not in the know; GDialog supports both GUI and Console
interfaces, thus making it a very versatile widget tool. Also Zenity is
the Gnome2 replacement for GDialog (which is gtk/gnome1).

PPS: Sorry for the lack of detail within the last email. I hope this
clears things up and shows that I've put more thought into things than
just the pathetic UDPM name/design.


-- 
Kevin C. Krinke [EMAIL PROTECTED]
Open Door Software Inc.



UDPM name space finalization

2003-05-29 Thread Kevin C. Krinke
Ok I've decided on the following name space:

Unix::Dialog- meta module
Unix::Dialog::ASCII - native mode
Unix::Dialog::Dialog- console (preferred)
Unix::Dialog::Whiptail  - console
Unix::Dialog::Zenity- GNOME (preferred)
Unix::Dialog::GDialog   - GNOME
Unix::Dialog::KDialog   - KDE
Unix::Dialog::XDialog   - X

Anyone have any objections?

I'll be requesting the name spaces within a week (or so)
from within the PAUSE site interface.

-- 
Kevin C. Krinke [EMAIL PROTECTED]
Open Door Software Inc.