MathGroup Archive 2002

[Date Index] [Thread Index] [Author Index]

Search the Archive

RE: RE: RE: Installing package "SpreadOption`"

  • To: mathgroup at smc.vnet.net
  • Subject: [mg35945] RE: [mg35826] RE: [mg35699] RE: [mg35673] Installing package "SpreadOption`"
  • From: "David Park" <djmp at earthlink.net>
  • Date: Fri, 9 Aug 2002 05:17:53 -0400 (EDT)
  • Sender: owner-wri-mathgroup at wolfram.com

So, wouldn't it be a good idea if WRI automatically included

FrontEnd`FileName[{$TopDirectory, "AddOns", "ExtraPackages", _, "FrontEnd",
    "Palettes"}, CharacterEncoding -> "WindowsANSI"]

on the PalettePath and

FrontEnd`FileName[{$TopDirectory, "AddOns", "ExtraPackages", _, "FrontEnd",
    "StyleSheets"}, CharacterEncoding -> "WindowsANSI"]

on the StyleSheetsPath? Then complete packages could just be dropped into
the ExtraPackages folder, where they would more logically belong, instead of
putting them in the Applications folder.

David Park
djmp at earthlink.net
http://home.earthlink.net/~djmp/

From: Omega Consulting [mailto:omega_consulting at yahoo.com]
To: mathgroup at smc.vnet.net


All of these are possible. Mathematica has a drop-in system as long as you
understand the layout scheme (which is a bit complicated, but worth
understanding). The trick is that each package gets its own directory.
Avoiding the conflicts you describe above.

All these properties are set by options, so let's look at an option:

In[3]:=
pp=PalettePath/.Options[$FrontEnd, PalettePath];

Let's just look at one value, the others are similar.

In[5]:=
pp[[6]]

Out[5]=
FrontEnd`FileName[{$TopDirectory,AddOns,Applications,_,FrontEnd,Palettes},
   CharacterEncoding\[Rule]WindowsANSI]

This says look in $TopDirectory/AddOns/Applications for directories of any
name. Then in those directories look for a FrontEnd/Palettes directory with
*.nb files. If any of these files exist, when the front end is started,
then it will be included in the Palettes menu.

Similar things are done for StyleSheetPath and AddOnHelpPath (for
documentation). There are also other more exotic paths like
ConfigurationPath and SpellingDictionariesPath, but these are largely
unused.

So when I write a package it looks like this:

MyPackageName/
         MyPackages.m (Actual packages)
                 Kernel/
                         init.m (Stub package. Loaded by <<MyPackageName`)
         FrontEnd/
                 Palettes/
                         MyPalettes.nb (Palettes)
                 StyleSheets/
                         MyStyleSheets.nb (Stylesheets)
         Documentation/
                 $Language/ (English, French, Japanese, etc.)
                         BrowserCategories.m (Organization of docs)
                         BrowserIndex.nb (Master Index entries)
                         HelpFiles.nb (Actual documentation)

Just drop the whole tree into the $TopDirectory/AddOns/Applications
directory (a couple other directories work as well) and you're ready to go.
(Except you have rebuild the help index, but otherwise you're set.)


--------------------------------------------------------------
Omega Consulting
"The final answer to your Mathematica needs"

Spend less time searching and more time finding.
http://www.wz.com/internet/Mathematica.html



  • Prev by Date: Re: Need Help! Mathlink C++ problems - solution
  • Next by Date: RE: RE: RE: Installing package "SpreadOption`"
  • Previous by thread: RE: Re: Installing package "SpreadOption`"
  • Next by thread: RE: RE: RE: Installing package "SpreadOption`"