>> This is fine, however i have copied and pasted 4 functions directly >> from Do.Platform.Linux/src/Do.Universe/FileItem.cs >> namely, Uri, Open, Icon (this is awesome) and mimetype. > > Are you sure you need these? Just being an IFileItem should get the open > action for free. What do you need mimetype for? No, im not sure of anything. :) this is just what i got to work. When i didnt implement the IOpenable interface it wasnt opening my files. (there could be other things wrong, i was getting some run time errors when i tried to open files this way) Just extending Item gave me Items that i couldnt open. (this is memory so there are combinations here i cant recall the output of) Dito just implementing IFileItem (iirc, i just needed to implement Uri and Path methods) I dont _need_ mimetype, but when i saw that i could have thumbnails for icons i had to have them (the plugin opens pdf, ps, djvu etc files so this is really useful).
>> On a similar note, the interface IConfigurable seems to be in >> Do.Platform.Linux >> to me that seems odd that it is in a system dependant package and not >> in Do.Platform for example. > This is because IConfigurable is drawn with Gtk. Although Gtk is a > crossplatform toolkit, we've put everything that references Gtk into > Do.Platform.Linux. This will allow us do do native windows and macosx UIs > later down the road. Yes i see, i supose having a platfom agnositc configuartion thingy is a bit much. Specifying config dialogs in XUL or some such and having it rendered in GTK or winforms or Coaco might be a few iterations away. ;) But.... I accept a ConfigLinux.cs ConfigWin.cs etc but the class that extends ItemSource needs to implement IConfiguration ... that just tells Do that in the plugin installation screen that this plugin needs to activte the "configure" button? does my main class need to be duplicated for each platform with only the implements "Iconfiguration" or "IWinConfiguration" line diffenerent? > I think most of your problems come from not being sure > how to manipulate the tools given to you by core. Could you post a link to > this file in launchpad so we can see the code in question and tell you how > we thing you should proceed? I don't think you need to implement anything > other than IFileItem (remember to subclass Item!) Definitly thats my problem. I have certain ideas in my head and im looking at the do code with these as my lenses. I know from the length of my IRC backscroll that you guys put alot of work into platform agnostisim and good software design. So im pretty sure there is a better way to do this, i just dont know Unfortunatly im traveling till next tuesday without my laptop so i cant upload code, or discuss much till then. What you just suggested is " I don't think you need to implement anything other than IFileItem (remember to subclass Item!)" is what i am currently doing, (with the addition of Iopenable) but i am unhappy cos i have basically copied and pasted most of Do.Platform.Linux.FileItem code cos thats exactly what i want my fileItem to be, a FileItem, with an extra method or two. (but i found i couldnt easily extend FileItem cos i didnt know which assembly it was in) sorry for the hastle, Niall > > -- > --Alex Launi > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "GNOME Do" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/gnome-do?hl=en -~----------~----~----~----~------~----~------~--~---
