General

Classes
AppRoot application class from which most things are accessed.
      addEventHandler Add an event handler into the system
      addKeyboardShortcut Add a shortcut for an existing command
      addNewCommand Add a new command into the system.
      executeCommand Execute a built in DigiGuide command
      getChannelManager Get the ChannelManager object
      getColumnManager Get the ColumnManager object
      getListingsManager Get the ListingsManager object
      getMainMenu Get the main menu object
      getMarkerManager Get the MarkerManager object
      getRootDomainName Allows you to investigate the domain name in the language file so you can determine certain functions or settings in the script.
      getSetting THIS API HAS BEEN DEPRECATED.
      getViewManager Get the ViewManager object
      isCurrentlyUpdating Determine whether an update is currently in progress
      isFullyVisible Determine whether the main window for the application is fully visible or not.
      isMinimised Determine whether the main window for the application is minimised or not.
      launchOneMinuteEventCheck Causes DigiGuide to perform it's one minute check for marker events and other internal stuff.
      removeEventHandler Remove an event handler.
SystemSystem class.
      doesImageExist Determine if an image, probably used for a Marker icon, exists.
      getCountryCode Gets the abbreviated country system locale setting from the Windows installation.
      getImage Get an Image given a name
      isInternetAvailable Determine if DigiGuide has an internet connection
      isKeyPressed Determine whether a key is pressed.
      shellExecute Run a program or open a file using the program associated with the file type.
Functions
 doesExpressionCompile Tests an expression to see if it will compile in DigiGuide.

Date/Time

Functions
 formatLongDate Get a correctly formatted long date.
 formatShortDate Get a correctly formatted short date.
 formatTime Get a correctly formatted time.
 getDayName Returns a string of the day name in the system locale.
 getMonthName Returns a string of the month name in the system locale.

Debugging

Functions
 debugOut Allows information to be written to the dg.log file or the console.
 getCurrentTimeTick Get the current timer tick in milliseconds.

Listings

Classes
CategoryProgramme Category
ChannelA single channel
      getProgrammes Get access to the programmes for this channel.
      isUserChannel Returns whether the selected channel is a foreign or 'user' channel, i.e. one of those downloaded from the Community Area of the web site.
ChannelAssignmentUnique channel information include user assigned name and EPG number.
ChannelManagerUser channel management
      addChannelFromID Adds given channel to users lineup.
      getChannelFromID Find and return a Channel object from a given ID value.
      getChannelFromName Find and return a Channel object from a given channel name.
      getChannels Get a list of all channels in the system
      isChannelSelected Determine if a channel is selected by the user.
      removeAllUserChannels Removes all user channels from the channel list.
      updateChannelNumbers Updates the EPG numbers of all selected channels to those found in the current provider template. It does not modify channels that have been manually customised by the user.
ListingsManagerListings management
      clearProgrammeCache Clear the programme cache
      getCategories Get a list of Category objects.
      getChannels Return an Array of Channel objects.
      getProgrammeListForTimeRange Search the listings for the time range and return an Array of Programme objects
ProgrammeA Programme object.
      getDurationSummary A textual summary of the duration of the programme.
      getKeywords Returns an array of keywords for this programme.
      getMarkedUpText The text passed has any words that match any markers for the programme highlighted.
      getMarkers Get an array of markers that match this programme
      getParsedInfo Parses a string and replaces tags with programme details.
      getPeople returns an array of Strings for the people type used.
      getTimeSummary A summary of the time until the programme is due to start or how long is left.
      isHidden Determine if a programme has a "hide" Marker associated with it.
      isOld Returns whether the programme has already finished.
ProgrammeFilterAn object used to filter programmes.

When the dtFrom and dtTo constructor parameters are used the "search old listings" checkbox on the interface is disabled.

      Constructor Create the filter
      isChannelIncluded Called to determine if a channel should be included in the search.
      isMatch Called by DigiGuide to determine if a programme should be included.
      onStarted Called when the filter is started
      onStopped Called when the filtered is stopped or if it finishes.
Events
 onNewListingsProcessingFinished Called when the listings have been absorbed and just after the Lookout is displayed.

Marker

Classes
MarkerA marker object.
      addCategory Add a category to be included in the Marker.
      addChannel Add a channel to be included in the Marker
      addDay Add a day to be included in the Marker
      clearCategories Clears all of the categories included in the Marker
      clearChannels Clears the channels to be included in the Marker
      clearDays Clear the days to be included in the Marker
      clearSearchFields Sets all the search fields to FALSE as by default they are set to TRUE.
      Constructor Create a new Marker, optionally initialising it from the defaults.
      excludeProgrammeInstance Exclude an individual programme date/time/channel from the Marker.
      excludeProgrammeName Exclude a programme name from this Marker.
      getAlertSummary Returns a text summary of the marker alert.
      getCategories Get an array of category IDs used for this Marker.
      getChannels Get an array of channel IDs used for this Marker.
      getDays Get an array of days used for this Marker.
      getMatchingProgrammeArray Get a list of programmes matching the Marker and a date range
      hasAlert Determine if the Marker has an alert or not.
      hasAlertFired Check to see if a programme alert has fired or not
      includeProgrammeInstance Re-include a programme date/time/channel
      includeProgrammeName Re-include a programme name in the Marker.
      isAllCategoriesSelected Determine whether the all-categories option is selected.
      isAllChannelsSelected Determine whether the all-channels option is selected.
      isAllDaysSelected Determine whether the all days are selected.
      isCategoryIncluded Determine whether a category is included in the list.
      isChannelIncluded Determine whether a channel is included in the list.
      isDayIncluded Determine whether a day is included in the list.
      isProgrammeExcluded Determine if the programme passed is excluded.
      matchesProgramme Tests to see if an existing Marker matches a programme
      removeCategory Remove a category from the selected category list.
      removeChannel Remove a channel from the selected channel list.
      removeDay Remove a day from the selected day list.
      removeProgrammeExclusion Remove all (both) programme exclusions from this Marker.
MarkerManagerA MarkerManager object.
      addNewMarker Adds a new marker into the system.
      addTemplate Add a new MarkerTemplate
      broadcastMarkerChangeEvent Causes DigiGuide to update what it knows about Markers and Programmes.
      doesTemplateExist Determine if the template name or id exists
      getMarkersByName Gets a list of Markers based on their marker name.
      getMarkersByProgName Gets a list of Markers based on their programme name.
      getMarkersByType Gets a list of markers based on their marker typeID
      getTemplate Returns a Marker Template given either the template name or it's ID.
      getTemplateList Get a list of MarkerTemplate objects
      removeMarker Removes the marker from the system.
MarkerTemplateA MarkerTemplate is essentially the script object loaded from disk.
      addKeyCommand Add a keyboard command for this template
      addOption Add an option for this template
      addSearchTerm Add a search term to this template.
      Constructor Creates and initialises a new marker template.
      getOptionValue Returns one of the template options.
      getSearchTerms Get a list of the search terms used for this template
      resetDefaults Reset the defaults for the current MarkerTemplate
      onAlert Called when DigiGuide is going to fire an alert
      onInterfaceUpdate Called when DigiGuide is needs to update the interface relating to Markers
      onProgrammeMenuShow Called when DigiGuide wishes to show the context menu for this Marker script
      onSetInitialDefaults Called the first time marker defaults are requested

Script

Classes
ScriptOptionsGet or set options.
      add Add a new option
      get Get the value of an option, or the default value if no other value has been set. The return value type depends on the option type.
      remove Permanently remove an option.
      set Set the value of an option.
Functions
 disableMe Disables the currently running script

System

Events
 onDigiGuideStartupComplete Called at the end of the startup.

If you wanted to display a UI from within your script then this is the time to do it. Any earlier and the display system is unlikely to be ready.

This is called exactly once during a DigiGuide run.


User Interface

Classes
ColumnA single column used within multi-column lists.
      Constructor Create a new column
      onCompareItems Compare two items and return their relative sort order
      onDraw Called when the column needs to draw it's content
      onGetWidth Called when DigiGuide needs the ideal width of the column
ColumnManagerManages columns for lists
      addColumn Add a column.
      getColumnFromID Retrieves a valid JavaScript Column from the passed column ID.
DrawContextCanvas used for drawing
      clipPop Remove the most recent clipping rectangle used.
      clipPushRect Set a clipping rectangle
      drawEllipsisText Draw text with ellipsis if the text doesn't fit.
      drawText Draw some text using the currently selected font.
      fillRect Draw a solid filled rectangle
      getCurrentFontHeight Get the current font height in pixels
      measureText Measure some text and get the Size of it.
      selectFont Select a font to be used for all direct text drawing.
ImageAn image object
      draw Draw, or stretch, an image.
      getFrameCount Get the number of frames contained within this image
      getFrameTime Get the time, in milliseconds, the frame should stay on screen for.
      getSize Get the size, in pixels, of the image.
MarkerMenuA menu object.
      addItem Adds an item to the menu
      addSeparator Adds a separator to the menu.
      doesItemExist Determine if an item exists on the menu.
      isWebInterface Determine if the menu is for the web interface.
MenuA menu object
      doesItemExist Determine whether a menu, or menu item, exists.
      getMenu Get a submenu from a Menu
      insertItem Insert, or append, an item into the menu.
      insertMenu Insert or append a new menu
      insertSeparator Add a separator bar between items
      setDefault Sets the default (bold) menu item if needed
PointA point object containing top and left coordinates
ProgrammeToolbarToolbar associated with the currently selected programme.
      addButton Add a button to the programme toolbar.
      addDropButton
      addSeparator Add a Separator, a vertical bar, between items on the toolbar.
ProgrammeToolbarListDrop down list used with a programme toolbar.
      addHeading Add a heading item.
      addItem Add an item to the list.
RectA rectangle object containng top, left, bottom, and right coordinates.
      getSize Get the Size of the rectangle
      height Get the height of the rectangle
      inflate Adjust size of the rectangle equally
      isPointInRect Determine whether a given Point is within the rectangle
      moveTo Move the rectangle to a new position
      offset Adjust the position of the rectangle.
      setHeight Set the height of the rectangle
      setWidth Set the width of the rectangle
      width Get the width of the rectangle
SizeA size object containing height and width
TaskDialogPresent the user with a multiple options using a nice interface.
      addButton Add a button to the TaskDialog.
      show Show the TaskDialog
UIUpdateAbstract object that enables interface control for enabling, disabling and "checking" items
      check Checks, or "ticks" the item
      enable Enable or disable the item
ViewManagerView management class.
      getSelectedProgramme Get the currently selected Programme object
      locateProgrammeInGridView Finds, selects and moves the given programme into view.
      showMe Pop up a Show Me list.
      showMeCategory Display the ShowMe search for a category
      showMePerson Display the ShowMe search for a person
      showMeProgrammeName Display the ShowMe search for a programme name
      showProgrammeInfoPopup Show the programme info popup window for the specified programme
      onGetHTMLForProgrammeInfoPanel Called to obtain the HTML text that appears in a the Description Pane at the bottom of the screen.
      onGetHTMLForProgrammeInfoPopupDescription Called to obtain the HTML text that appears in the middle, scrolling, region of an InfoPopup. This area normally contains programme description and cast information.
      onGetHTMLForProgrammeInfoPopupDetails Called to obtain the HTML text that appears in the top, non-scrolling, region of an InfoPopup. This area normally contains programme start information and channel details.
      onGetHTMLForProgrammeListDescription Called to obtain the HTML text that will be used when "Include Descriptions" is enabled on list views.
      onGetHTMLForProgrammePopupAlertDescription Called to obtain the HTML text that appears in the middle, scrolling, region of an Alert window. This area normally contains programme description and cast information.
      onGetHTMLForProgrammePopupAlertDetails Called to obtain the HTML text that appears in the top, non-scrolling, region of an Alert window. This area normally contains programme start information and channel details.
      onGetHTMLForProgrammeTip Called to obtain the HTML text that appears in a programme CoolTip.
      onGetHTMLForWelcome Called to obtain the HTML text that will be used for the Welcome page.
      onGetRTFForClipboard Called to obtain the text that will be used in the RTF portion of the Clipboard when a Programme is 'copied'.
      onGetTextForClipboard Called to obtain the text that will be used in the TEXT portion of the Clipboard when a Programme is 'copied'.
      onProgrammeDoubleClick Override the behaviour for double-click on programmes
Functions
 alert Shows an OK message box with given message string
 messageBox Shows a message box with given message string and specified choice of buttons and icon.
 playSound Play a sound.
 prompt Get simple input from the user.
 showProgrammeList Display a list of programmes with an optional HTML text banner.
Events
 onDrawGridAddition Called to give scripts an opportunity to draw in the grid.
 onInPlaceDescriptionToolbar Called when the in place description toolbar is either displayed or updated.
 onTrayIconRightClick Called whenever the user right-clicks on the DigiGuide icon in the notification area.