Source Code/scribus

From Scribus Wiki
Revision as of 15:14, 19 January 2014 by Cbradney (talk | contribs)
Jump to navigation Jump to search


Parent directory : Source_Code

The scribus directory contains the source code for Scribus, and plenty of subdirectories with important functionality held within. To name but a few of the important source files...

  • main.h/.cpp - Where the program starts running from. Its just a stub file that points to the main *nix or win32 main files
  • main_nix.h/.cpp
    • Creates the ScribusQApp class (where Qt starts to kick in)
    • Initiates the crash handler
    • Starts and initialises the ScribusQApp instance, and passes the command line to it for parsing
  • main_win32.h/.cpp
    • Creates the ScribusQApp class (where Qt starts to kick in) from the scribusapp.cpp file.
    • Initiates the crash handler
    • Starts and initialises the ScribusQApp instance, and passes the command line to it for parsing
  • scribusqapp.h/.cpp
    • Initialise the ScribusCore instance which is in scribuscore.cpp
    • Sets up the download manager
    • Parses the command line
    • Sets up the regional settings/languages and loads the GUI translations
  • scribuscore.h/.cpp
    • Starts the GUI (ScribusMainWindow class) which is in scribus.cpp
    • Sets up splash screen
    • Finds the fonts on the system
    • Initialises the default program values, key shortcuts
    • Loads the preferences
    • Initialises the colour management system
  • scribus.h/.cpp
    • A real monster of a file, which contains a lot of important GUI code for the main window, menus etc.
  • scribusview.h/.cpp
    • The view of the Scribus document is contained here and interfaces with the "canvas"
  • scribusdoc.h/.cpp
    • Contains most of the code around manipulation of a Scribus document, with many links into page items, etc
  • scribuswin.h/.cpp
    • The document window of the Scribus document is contained here and interfaces with the ScribusMainWindows and ScribusView instances.
  • pageitem.h/.cpp
    • The base code for all page items is contained here.
  • pageitem_*.h/.cpp
    • All of the different page item types have their own classes/files with the specific definitions and needs for the type of item they are.