Workbench User Guide
Getting started
Basic tutorial
The Workbench
Editors and views
Editors
Views
A simple project
Using the File menu
Using the popup
Using the New button
Closing an editor
Navigating resources
Opening resources in the Project Explorer
Go To
Files
Exporting files
Importing files
Drag and drop or copy and paste
Import wizard
Deleting resources
Working with other editors
External editors
Embedded editors
Editing files outside the Workbench
Copying, renaming and moving
Copying
Renaming
Moving
Searching
Starting a search
The Search view
Tasks and markers
Unassociated tasks
Associated tasks
Opening files
Bookmarks
Adding and viewing bookmarks
Using bookmarks
Removing bookmarks
Rearranging views and editors
Drop cursors
Rearranging views
Tiling editors
Rearranging tabbed views
Maximizing and minimizing
Perspectives
New perspectives
New windows
Saving perspectives
Configuring perspectives
Comparing
Simple compare
Understanding the comparison
Working with the comparison
Local history
Responsive UI
Exiting the Workbench
Team CVS tutorial
Setting up a CVS repository
Starting offline
Sharing the project
Specifying a repository location
Repository locations
Sharing a project
Working with another user
Checking out a project
Another user making changes
Making our own changes
Working with conflicting changes
Replacing
Versioning your project
A quick review
Working with CVS History
Ant & external tools tutorial
Eclipse Ant basics
Creating Ant buildfiles
Editing Ant buildfiles
Running Ant buildfiles
Saving & Reusing Ant options
Using the Ant view
Ant buildfiles as project builders
Creating a project builder Ant buildfile
Executing project builders
External tools
Non-Ant project builders
Stand-alone external tools
Concepts
Welcome
Workbench
Resources
Resource hierarchies
Linked resources
Path variables
Working sets
Builds
Local history
Perspectives
Editors
External editors
Views
Fast views
Detached views
Project Explorer view
Help view
Tasks view
Problems view
Outline view
Properties view
Search view
Toolbars
Markers
Bookmarks
Label decorations
Help
External tools
Ant support
Team programming with CVS
Versions
Branches
CVS Repositories
Three way comparisons
Synchronizing with a CVS repository
Watch/Edit
Accessibility features in Eclipse
Navigating the user interface using the keyboard
Fonts and colors in Eclipse
Features
Tasks
Running Eclipse
Upgrading Eclipse
Working with perspectives
Switching between perspectives
Specifying the default perspective
Opening perspectives
Changing where perspectives open
Configuring perspectives
Saving a user defined perspective
Deleting a user defined perspective
Resetting perspectives
Working with views and editors
Opening views
Moving and docking views
Rearranging tabbed views
Creating fast views
Working with fast views
Detaching views
Opening files for editing
Associating editors with file types
Editing files outside the Workbench
Tiling editors
Maximizing and minimizing in the eclipse presentation
Customizing the Workbench
Customizing welcome
Customize Welcome Dialog
Rearranging the main toolbar
Changing the key bindings
Changing fonts and colors
Changing the placement of the tabs
Controlling single and double click behavior
Importing and exporting preferences
Working with projects, folders and files
Creating a project
Closing projects
Deleting projects
Creating a folder
Creating a file
Creating linked resources
Moving resources
Copying resources
Renaming resources
Deleting resources
Viewing resources properties
Navigating and finding resources
Finding a resource quickly
Searching for files
Searching for text within a file
Showing or hiding files in the Project Explorer view
Linking the Project Explorer view to the active editor
Problems, bookmarks, tasks and other markers
Creating a bookmark within a file
Creating a bookmark for an entire file
Deleting a bookmark
Adding line items in the Tasks view
Associating a task with a resource
Deleting tasks
Filtering the Tasks and Problems views
Automatically fixing problems
Comparing resources
Setting preferences for comparing files
Understanding the comparison
Merging changes in the compare editor
Working with local history
Comparing resources with the local history
Replacing a resource with local history
Restoring deleted resources from local history
Setting local history preferences
Importing
Importing existing projects
Importing resources from the file system
Importing resources from an Archive file
Exporting
Exporting resources to the file system
Exporting resources to an Archive file
Building resources
Performing builds automatically
Performing builds manually
Saving resources automatically before a manual build
Changing build order
Running external tools
Running Ant buildfiles
Modifying the Ant classpath
Using a different version of Ant
Adding new Ant tasks and types
Accessing help
Navigating help topics
Searching help
Accessing context-sensitive help
Help display settings
Help accessibility
Working in the team environment with CVS
Working with a CVS repository
Creating a CVS repository location
Connecting and configuring CVS with SSH
Password Management
Discarding a CVS repository location
Refreshing the CVS Repositories View
Discovering branch and version tags
Changing the properties of a CVS repository location
Changing the encoding of a CVS repository location
Setting the content type of a file extension
Working with projects shared with CVS
Enabling the CVS resource decorations
Sharing a new project using CVS
Project checked out with another CVS tool
Checking out a project from a CVS repository
Checking out a module from a CVS repository
Checking out a folder into an existing project
Disconnecting a project from CVS
Setting the CVS keyword substitution mode
Filtering CVS Revisions in the History view
Changing the sharing of a project
Sharing your workspace setup using Project Sets
Synchronizing with the repository
Updating
Committing
Version control life cycle: adding and ignoring resources
Creating a global ignore pattern
Authoring the CVS .cvsignore file
Overriding or removing resource ignore patterns
Resolving conflicts
Branching
Merging from a branch
Viewing a file's revision history
Versioning
Creating a version of a project
Versioning projects in the repository
Comparing resources with repository versions
Working with patches
Replacing resources in the workbench
Finding out who's working on what: watch/edit
Determining who last modified a line with the Annotate command
Quick Diff: Showing changes in a text editor
Changing CVS team settings
Restoring deleted files from the repository
Reverting a branch to a previous version
Moving version tags
Running the CVS command-line client outside of Eclipse
Updating and installing software
Updating software with the Installed Software page
Installing new add-ons with the Available Software page
Installing software using the Install wizard
Updating software using the Available Updates wizard
Uninstalling software using the Uninstall wizard
Adding a new update site
Working with the Available Software sites
Reverting to a previous install configuration
Scheduling automatic updates
Using the classic update manager
Inspecting the current configuration
Updating features with the update manager
Restoring a saved configuration
Installing new features with the update manager
Enabling, disabling, and uninstalling features
Controlling the Eclipse update policy
Reference
Minimizing data loss from crashes
Preferences
Accessibility
Annotations
Ant
Ant Code Assist
Ant Editor
Ant Formatter
Ant Runtime
Ant Templates
Appearance
Automatic Updates
Build Order
Capabilities
Colors and Fonts
Compare/Patch
Content Types
CVS
CVS Annotate
CVS Comment Templates
CVS Console
CVS Ext Connection Method
CVS Label Decorations
CVS Password Management
CVS Synchronize/Compare
CVS Update/Merge
CVS Watch/Edit
Editors
External Tools
File Associations
General
Help
Help Content
Install/Update
Keys
Label Decorations
Linked Resources
Local History
Network Connections
Perspectives
Quick Diff
Search
Secure Storage
Spelling
SSH2
Startup and Shutdown
Team
Team File Content
Team Ignored Resources
Team Models
Text Editors
Web Browser
Workspace
Team support with CVS
CVS
CVS Checkout wizard
CVS Console
CVS History view
CVS Repositories view
CVS Workspace Synchronization
CVS Merge Synchronization
Merge wizard
Add CVS Repository wizard
CVS Sharing wizard
CVS Label Decorations
Ignoring resources from version control
Secure storage
How secure storage works
Password recovery
Life of a master password
Secure storage runtime options
User interface information
Development environment
Workbench toolbar
Perspective Bar
Fast View Bar
View toolbars
Builds
Perspectives
Local history
List of key bindings
Switching Workspaces
Views and editors
Workbench window layout
Editor area
Compare editor
Search view
Project Explorer view
Bookmarks view
Properties view
Outline view
CVS views
Tasks view
Problems view
Ant editor
Ant view
Wizards
New Project wizard
New Folder wizard
New File wizard
CVS Wizards
Import wizard
Export wizard
Help contents
Workbench User Guide
Working with cheat sheets
Working with composite cheat sheets
Search
File search
Workbench menus
File menu
Edit menu
Navigate menu
Project menu
Window menu
Help menu
Icons and buttons
Project Explorer view icons
Editor area marker bar
Tasks view
Toolbar buttons
External Tools and Ant Icons
Tips and tricks
What's new
Legal
Getting started
Basic tutorial
The Workbench
Editors and views
Editors
Views
A simple project
Using the File menu
Using the popup
Using the New button
Closing an editor
Navigating resources
Opening resources in the Project Explorer
Go To
Files
Exporting files
Importing files
Drag and drop or copy and paste
Import wizard
Deleting resources
Working with other editors
External editors
Embedded editors
Editing files outside the Workbench
Copying, renaming and moving
Copying
Renaming
Moving
Searching
Starting a search
The Search view
Tasks and markers
Unassociated tasks
Associated tasks
Opening files
Bookmarks
Adding and viewing bookmarks
Using bookmarks
Removing bookmarks
Rearranging views and editors
Drop cursors
Rearranging views
Tiling editors
Rearranging tabbed views
Maximizing and minimizing
Perspectives
New perspectives
New windows
Saving perspectives
Configuring perspectives
Comparing
Simple compare
Understanding the comparison
Working with the comparison
Local history
Responsive UI
Exiting the Workbench
Team CVS tutorial
Setting up a CVS repository
Starting offline
Sharing the project
Specifying a repository location
Repository locations
Sharing a project
Working with another user
Checking out a project
Another user making changes
Making our own changes
Working with conflicting changes
Replacing
Versioning your project
A quick review
Working with CVS History
Ant & external tools tutorial
Eclipse Ant basics
Creating Ant buildfiles
Editing Ant buildfiles
Running Ant buildfiles
Saving & Reusing Ant options
Using the Ant view
Ant buildfiles as project builders
Creating a project builder Ant buildfile
Executing project builders
External tools
Non-Ant project builders
Stand-alone external tools
Concepts
Welcome
Workbench
Resources
Resource hierarchies
Linked resources
Path variables
Working sets
Builds
Local history
Perspectives
Editors
External editors
Views
Fast views
Detached views
Project Explorer view
Help view
Tasks view
Problems view
Outline view
Properties view
Search view
Toolbars
Markers
Bookmarks
Label decorations
Help
External tools
Ant support
Team programming with CVS
Versions
Branches
CVS Repositories
Three way comparisons
Synchronizing with a CVS repository
Watch/Edit
Accessibility features in Eclipse
Navigating the user interface using the keyboard
Fonts and colors in Eclipse
Features
Tasks
Running Eclipse
Upgrading Eclipse
Working with perspectives
Switching between perspectives
Specifying the default perspective
Opening perspectives
Changing where perspectives open
Configuring perspectives
Saving a user defined perspective
Deleting a user defined perspective
Resetting perspectives
Working with views and editors
Opening views
Moving and docking views
Rearranging tabbed views
Creating fast views
Working with fast views
Detaching views
Opening files for editing
Associating editors with file types
Editing files outside the Workbench
Tiling editors
Maximizing and minimizing in the eclipse presentation
Customizing the Workbench
Customizing welcome
Customize Welcome Dialog
Rearranging the main toolbar
Changing the key bindings
Changing fonts and colors
Changing the placement of the tabs
Controlling single and double click behavior
Importing and exporting preferences
Working with projects, folders and files
Creating a project
Closing projects
Deleting projects
Creating a folder
Creating a file
Creating linked resources
Moving resources
Copying resources
Renaming resources
Deleting resources
Viewing resources properties
Navigating and finding resources
Finding a resource quickly
Searching for files
Searching for text within a file
Showing or hiding files in the Project Explorer view
Linking the Project Explorer view to the active editor
Problems, bookmarks, tasks and other markers
Creating a bookmark within a file
Creating a bookmark for an entire file
Deleting a bookmark
Adding line items in the Tasks view
Associating a task with a resource
Deleting tasks
Filtering the Tasks and Problems views
Automatically fixing problems
Comparing resources
Setting preferences for comparing files
Understanding the comparison
Merging changes in the compare editor
Working with local history
Comparing resources with the local history
Replacing a resource with local history
Restoring deleted resources from local history
Setting local history preferences
Importing
Importing existing projects
Importing resources from the file system
Importing resources from an Archive file
Exporting
Exporting resources to the file system
Exporting resources to an Archive file
Building resources
Performing builds automatically
Performing builds manually
Saving resources automatically before a manual build
Changing build order
Running external tools
Running Ant buildfiles
Modifying the Ant classpath
Using a different version of Ant
Adding new Ant tasks and types
Accessing help
Navigating help topics
Searching help
Accessing context-sensitive help
Help display settings
Help accessibility
Working in the team environment with CVS
Working with a CVS repository
Creating a CVS repository location
Connecting and configuring CVS with SSH
Password Management
Discarding a CVS repository location
Refreshing the CVS Repositories View
Discovering branch and version tags
Changing the properties of a CVS repository location
Changing the encoding of a CVS repository location
Setting the content type of a file extension
Working with projects shared with CVS
Enabling the CVS resource decorations
Sharing a new project using CVS
Project checked out with another CVS tool
Checking out a project from a CVS repository
Checking out a module from a CVS repository
Checking out a folder into an existing project
Disconnecting a project from CVS
Setting the CVS keyword substitution mode
Filtering CVS Revisions in the History view
Changing the sharing of a project
Sharing your workspace setup using Project Sets
Synchronizing with the repository
Updating
Committing
Version control life cycle: adding and ignoring resources
Creating a global ignore pattern
Authoring the CVS .cvsignore file
Overriding or removing resource ignore patterns
Resolving conflicts
Branching
Merging from a branch
Viewing a file's revision history
Versioning
Creating a version of a project
Versioning projects in the repository
Comparing resources with repository versions
Working with patches
Replacing resources in the workbench
Finding out who's working on what: watch/edit
Determining who last modified a line with the Annotate command
Quick Diff: Showing changes in a text editor
Changing CVS team settings
Restoring deleted files from the repository
Reverting a branch to a previous version
Moving version tags
Running the CVS command-line client outside of Eclipse
Updating and installing software
Updating software with the Installed Software page
Installing new add-ons with the Available Software page
Installing software using the Install wizard
Updating software using the Available Updates wizard
Uninstalling software using the Uninstall wizard
Adding a new update site
Working with the Available Software sites
Reverting to a previous install configuration
Scheduling automatic updates
Using the classic update manager
Inspecting the current configuration
Updating features with the update manager
Restoring a saved configuration
Installing new features with the update manager
Enabling, disabling, and uninstalling features
Controlling the Eclipse update policy
Reference
Minimizing data loss from crashes
Preferences
Accessibility
Annotations
Ant
Ant Code Assist
Ant Editor
Ant Formatter
Ant Runtime
Ant Templates
Appearance
Automatic Updates
Build Order
Capabilities
Colors and Fonts
Compare/Patch
Content Types
CVS
CVS Annotate
CVS Comment Templates
CVS Console
CVS Ext Connection Method
CVS Label Decorations
CVS Password Management
CVS Synchronize/Compare
CVS Update/Merge
CVS Watch/Edit
Editors
External Tools
File Associations
General
Help
Help Content
Install/Update
Keys
Label Decorations
Linked Resources
Local History
Network Connections
Perspectives
Quick Diff
Search
Secure Storage
Spelling
SSH2
Startup and Shutdown
Team
Team File Content
Team Ignored Resources
Team Models
Text Editors
Web Browser
Workspace
Team support with CVS
CVS
CVS Checkout wizard
CVS Console
CVS History view
CVS Repositories view
CVS Workspace Synchronization
CVS Merge Synchronization
Merge wizard
Add CVS Repository wizard
CVS Sharing wizard
CVS Label Decorations
Ignoring resources from version control
Secure storage
How secure storage works
Password recovery
Life of a master password
Secure storage runtime options
User interface information
Development environment
Workbench toolbar
Perspective Bar
Fast View Bar
View toolbars
Builds
Perspectives
Local history
List of key bindings
Switching Workspaces
Views and editors
Workbench window layout
Editor area
Compare editor
Search view
Project Explorer view
Bookmarks view
Properties view
Outline view
CVS views
Tasks view
Problems view
Ant editor
Ant view
Wizards
New Project wizard
New Folder wizard
New File wizard
CVS Wizards
Import wizard
Export wizard
Help contents
Workbench User Guide
Working with cheat sheets
Working with composite cheat sheets
Search
File search
Workbench menus
File menu
Edit menu
Navigate menu
Project menu
Window menu
Help menu
Icons and buttons
Project Explorer view icons
Editor area marker bar
Tasks view
Toolbar buttons
External Tools and Ant Icons
Tips and tricks
What's new
Legal
C/C++ Development User Guide
Before you begin
Getting Started
Preparing the Workbench
Creating a simple application
Creating a project
Importing an existing project
Building a project
Debugging projects
Importing C/C++ source files into Eclipse
Concepts
CDT Overview
CDT Projects
Perspectives available to C/C++ developers
Views in the C/C++ perspective
Code aids
Comments
Content Assist
Templates
Editing C/C++ files
C/C++ editor
Makefile
Navigation aids
Outline View
Project File views
C/C++ Search
Open Declaration
Build
Building C/C++ Projects
Debug
BreakPoints
Debug overview
Debug information
C/C++ search
C/C++ Indexer
C/C++ Indexer Opening or Closing a project
C/C++ Indexer Progress Bar
Tasks
Creating a project
Creating a project via a project template
Work with C or C++ project files
Display file members in the C/C++ Projects view
Converting a C or C++ nature for a project
Create a C/C++ file
Create a makefile
Hide files of a given type
Converting CDT 1.x Projects
Converting CDT 2.x Managed Make Projects
Adding Convert to a C/C++ Make Project to the New menu
Write code
Customize the C/C++ editor
Comment out code
Working with Content Assist
Using Content Assist
Creating and editing templates
Importing and exporting templates
Shift lines of code to the left or right
Navigate to C/C++ declarations by name
Refactoring
Building projects
Renaming a project
Defining Project Build settings
Filtering Errors
Selecting a binary parser
Adding Include paths and symbols
Selecting a project type
Building Manually
Removing Build Automatically
Autosaving on a build
Creating a make target
Customizing the Console view
Viewing and managing compile errors
Jumping to errors
Filtering the Problems view
Setting reminders
Running and debugging projects
Creating or editing a run/debug configuration
Selecting a run or debug configuration
Creating a run or debug configuration
Selecting an application to run or debug
Specifying execution arguments
Setting environment variables
Defining debug settings
Specifying the location of source files
Specifying the location of the run configuration
Debugging
Debugging a program
Debugging an existing executable
Using breakpoints, watchpoints, and breakpoint actions
Adding breakpoints
Adding watchpoints
Adding breakpoint actions
Removing breakpoints and watchpoints
Enabling or disable breakpoints and watchpoints
Attaching or removing breakpoint actions
Controlling debug execution
Stepping into assembler funcitons
Working with variables
Adding expressions
Working with registers
Working with memory
Searching the CDT
Selection Searching for C/C++ elements
Setting Source Folders
Reference
C/C++ Views and Editors
Selecting Views and Editors
C/C++ Projects view
Project Explorer view
Outline view
Make Targets view
Editor view
Console view
Problems view
Properties view
Search view
Call Hierarchy view
Debug views
Registers view
Memory view
Memory view preferences
Disassembly view
Modules view
Signals view
Debug view
Debug preferences
C/C++ Icons
C/C++ Menubar
File Menu actions
Edit Menu actions
Refactor Menu actions
Navigate Menu actions
Search Menu actions
Project Menu actions
Run Menu actions
Window Menu actions
C/C++ Toolbar
C/C++ Open Element
C/C++ Find and Replace
C/C++ Preferences
Appearance preferences
Build Console preferences
Debug preferences
Breakpoint Actions preferences
GDB MI preferences
Source Code Locations preferences
Code Style preferences
Code Templates preferences
C/C++ Editor preferences
General preferences
Content Assist preferences
Advanced preferences
Folding preferences
Hovers preferences
Mark Occurrences preferences
Syntax Coloring preferences
Templates preferences
Typing preferences
Environment preferences
File Types
Language Mappings preferences
Make
Makefile Editor
Settings
New CDT project wizard
Preferred Toolchains tab
Wizard Defaults tab
Makefile Project pages
Binary parsers
Error parsers
Discovery options
Builder settings
Behaviour
Property Pages Settings
Multiple Configurations Edit
C/C++ Properties
C/C++ Project properties
Resource page
Builders page
Common C/C++ Configurations handling
Manage Configurations dialog
Create Configuration dialog
Rename Configuration dialog
C/C++ Build
Build Variables page
Discovery options page
Environment page
Settings page
Tool Settings tab
Build Steps tab
Build Artifact tab
Binary Parsers tab
Error Parsers tab
Tool chain editor page
C/C++ General
Documentation page
Export Settings page
File Types page
Indexer page
Language Mapping page
Paths and Symbols page
Includes tab
Symbols tab
Libraries tab
Libraries path tab
Source Location tab
Output Location tab
References tab
Data Hierarchy tab
Project References page
Run/Debug Settings page
C/C++ Folder properies
Resource page
C/C++ Build
Discovery options page
Settings page
Tool Settings tab
Tool chain editor page
C/C++ General
Paths and Symbols page
Includes tab
Symbols tab
Libraries tab
Libraries path tab
Data Hierarchy tab
Run/Debug Settings page
C/C++ File Properties
Resource page
C/C++ Build
Discovery options page
Settings page
Tool Settings tab
Build Steps tab
Tool Chain Editor page
C/C++ General
Language Mapping page
Paths and Symbols page
Includes tab
Symbols tab
Data Hierarchy tab
Run/Debug Settings page
C/C++ New Project Wizard
Set Project Name and Location
Select Project type
Select Toolchain
Select Configurations
C/C++ Run and Debug
Main
Arguments
Environment
Debugger
Source
Common
C/C++ search page
Legal
Before you begin
Getting Started
Preparing the Workbench
Creating a simple application
Creating a project
Importing an existing project
Building a project
Debugging projects
Importing C/C++ source files into Eclipse
Concepts
CDT Overview
CDT Projects
Perspectives available to C/C++ developers
Views in the C/C++ perspective
Code aids
Comments
Content Assist
Templates
Editing C/C++ files
C/C++ editor
Makefile
Navigation aids
Outline View
Project File views
C/C++ Search
Open Declaration
Build
Building C/C++ Projects
Debug
BreakPoints
Debug overview
Debug information
C/C++ search
C/C++ Indexer
C/C++ Indexer Opening or Closing a project
C/C++ Indexer Progress Bar
Tasks
Creating a project
Creating a project via a project template
Work with C or C++ project files
Display file members in the C/C++ Projects view
Converting a C or C++ nature for a project
Create a C/C++ file
Create a makefile
Hide files of a given type
Converting CDT 1.x Projects
Converting CDT 2.x Managed Make Projects
Adding Convert to a C/C++ Make Project to the New menu
Write code
Customize the C/C++ editor
Comment out code
Working with Content Assist
Using Content Assist
Creating and editing templates
Importing and exporting templates
Shift lines of code to the left or right
Navigate to C/C++ declarations by name
Refactoring
Building projects
Renaming a project
Defining Project Build settings
Filtering Errors
Selecting a binary parser
Adding Include paths and symbols
Selecting a project type
Building Manually
Removing Build Automatically
Autosaving on a build
Creating a make target
Customizing the Console view
Viewing and managing compile errors
Jumping to errors
Filtering the Problems view
Setting reminders
Running and debugging projects
Creating or editing a run/debug configuration
Selecting a run or debug configuration
Creating a run or debug configuration
Selecting an application to run or debug
Specifying execution arguments
Setting environment variables
Defining debug settings
Specifying the location of source files
Specifying the location of the run configuration
Debugging
Debugging a program
Debugging an existing executable
Using breakpoints, watchpoints, and breakpoint actions
Adding breakpoints
Adding watchpoints
Adding breakpoint actions
Removing breakpoints and watchpoints
Enabling or disable breakpoints and watchpoints
Attaching or removing breakpoint actions
Controlling debug execution
Stepping into assembler funcitons
Working with variables
Adding expressions
Working with registers
Working with memory
Searching the CDT
Selection Searching for C/C++ elements
Setting Source Folders
Reference
C/C++ Views and Editors
Selecting Views and Editors
C/C++ Projects view
Project Explorer view
Outline view
Make Targets view
Editor view
Console view
Problems view
Properties view
Search view
Call Hierarchy view
Debug views
Registers view
Memory view
Memory view preferences
Disassembly view
Modules view
Signals view
Debug view
Debug preferences
C/C++ Icons
C/C++ Menubar
File Menu actions
Edit Menu actions
Refactor Menu actions
Navigate Menu actions
Search Menu actions
Project Menu actions
Run Menu actions
Window Menu actions
C/C++ Toolbar
C/C++ Open Element
C/C++ Find and Replace
C/C++ Preferences
Appearance preferences
Build Console preferences
Debug preferences
Breakpoint Actions preferences
GDB MI preferences
Source Code Locations preferences
Code Style preferences
Code Templates preferences
C/C++ Editor preferences
General preferences
Content Assist preferences
Advanced preferences
Folding preferences
Hovers preferences
Mark Occurrences preferences
Syntax Coloring preferences
Templates preferences
Typing preferences
Environment preferences
File Types
Language Mappings preferences
Make
Makefile Editor
Settings
New CDT project wizard
Preferred Toolchains tab
Wizard Defaults tab
Makefile Project pages
Binary parsers
Error parsers
Discovery options
Builder settings
Behaviour
Property Pages Settings
Multiple Configurations Edit
C/C++ Properties
C/C++ Project properties
Resource page
Builders page
Common C/C++ Configurations handling
Manage Configurations dialog
Create Configuration dialog
Rename Configuration dialog
C/C++ Build
Build Variables page
Discovery options page
Environment page
Settings page
Tool Settings tab
Build Steps tab
Build Artifact tab
Binary Parsers tab
Error Parsers tab
Tool chain editor page
C/C++ General
Documentation page
Export Settings page
File Types page
Indexer page
Language Mapping page
Paths and Symbols page
Includes tab
Symbols tab
Libraries tab
Libraries path tab
Source Location tab
Output Location tab
References tab
Data Hierarchy tab
Project References page
Run/Debug Settings page
C/C++ Folder properies
Resource page
C/C++ Build
Discovery options page
Settings page
Tool Settings tab
Tool chain editor page
C/C++ General
Paths and Symbols page
Includes tab
Symbols tab
Libraries tab
Libraries path tab
Data Hierarchy tab
Run/Debug Settings page
C/C++ File Properties
Resource page
C/C++ Build
Discovery options page
Settings page
Tool Settings tab
Build Steps tab
Tool Chain Editor page
C/C++ General
Language Mapping page
Paths and Symbols page
Includes tab
Symbols tab
Data Hierarchy tab
Run/Debug Settings page
C/C++ New Project Wizard
Set Project Name and Location
Select Project type
Select Toolchain
Select Configurations
C/C++ Run and Debug
Main
Arguments
Environment
Debugger
Source
Common
C/C++ search page
Legal
Capability Scanner User Guide
Release Notes
Concepts
Capability Scanner Overview
Symbian Platform Security
Symbian Capability
Symbian API Capabilities List
Certificate
References
CBuild-Console
Problems View
Platform Security View
Error Log
Reserved Capability Names
Tasks
Opening the Platform Security view
Activating the Capability Scanner
Release Notes
Concepts
Capability Scanner Overview
Symbian Platform Security
Symbian Capability
Symbian API Capabilities List
Certificate
References
CBuild-Console
Problems View
Platform Security View
Error Log
Reserved Capability Names
Tasks
Opening the Platform Security view
Activating the Capability Scanner
Carbide Tools
API Query
Release Notes
Getting Started
Overview
Basic walk-through
Concepts
Data source
Software Development Kit (SDK)
API metadata file
Tasks
Configuring data sources
Running an API query from the Search tab
Running an API query from the context menu
Running an API Query based on the source code identifier
Running an API Query for a project
Data source configurations
API metadata file data source
Configuring the API metadata file data source properties
Legal
Symbian Foundation Templates Wizard
Release Notes
Overview
Legal
CodeScanner User Guide
Release Notes
Overview
Quick Start
CodeScanner preferences
File Filters
Rules
Running CodeScanner
Carbide.c++ IDE
Command-line Tools
Viewing Reports
Optimizing CodeScanner
Customizing CodeScanner
Bugs Fixed
Symbian OS Crash Debugger
Concepts
Critical Threads and Processes
Debug Monitor
Kernel Calls and Thread Context
Process and Thread Priorities
Symbian OS Memory Map
Stacks
Thread and Process Exit Information Summary
Thread State Summary
Virtual Memory and Run Addresses
Reference
Overview
ARM Information
ARM Exception Types
ARM Fault Status Register Values
ARM Processor Modes
Crash Debugger Commands
C - Display contents of Object Container
c - Display contents of Object Container
f - Display Kernel Fault Information
i - Display Information for the Current Process and Thread
m - Do a Memory Dump
o - Display Brief DObject Information
r - Dump Register Contents
q - Display Full DObject Information
X - Leave Debugger, Return to Bootloader
x - Leave Debugger, Cold Restart ROM Image
z - Do a Memory Dump, Skipping over Unmapped Memory
Crash Debugger Views
Crash Debugger Console View
Memory Dump Options
Object Address
Crash Debugger Launch Configuration
Tasks
Call Stack
General Points
Finding the Stack
Tracing through the Stack Heuristically
Walking through the Call Stack
Examining Kernel Items
Kernel Objects
Kernel Containers
Extracting Kernel Information
Scheduler State
Current Thread State
Current Process State
Current Data Section Process
Finding Fault Types
Unhandled Exceptions
Panics
Memory
Examining Memory
Dumping the Contents of Classes
Setting Up the Debug Monitor
Using the MAKSYM Tool
Epocwind.out Scanner Guide
Working with Epocwind.out Scanner
Concepts
Symbian PlatSec
Symbian Capability
Symbian OS Emulation
EPOCWIND.OUT File
PlatSec Warning/Error Messages
Build Configuration
References
PlatSec Diagnostics Console
Tasks
Opening the PlatSec Diagnostics Console
Activating the PlatSec Diagnostics Console
Dependency Explorer
Release Notes
Getting Started
Overview
Basic walk-through
Concepts
Software Development Kit (SDK)
Component
Function
Properties
Tasks
Managing SDKs
Selecting SDKs
Setting preferences
Locating components
Analysing components
Checking component properties
Checking imported functions
Checking exported functions
Finding components
Searching for components and functions
Viewing source files
Viewing source file in project
Viewing method call locations
Exporting the report
References
Messages and notifications
Toolbar
Appendix: Static Dependencies to Dynamic Data
Legal
Legal
API Query
Release Notes
Getting Started
Overview
Basic walk-through
Concepts
Data source
Software Development Kit (SDK)
API metadata file
Tasks
Configuring data sources
Running an API query from the Search tab
Running an API query from the context menu
Running an API Query based on the source code identifier
Running an API Query for a project
Data source configurations
API metadata file data source
Configuring the API metadata file data source properties
Legal
Symbian Foundation Templates Wizard
Release Notes
Overview
Legal
CodeScanner User Guide
Release Notes
Overview
Quick Start
CodeScanner preferences
File Filters
Rules
Running CodeScanner
Carbide.c++ IDE
Command-line Tools
Viewing Reports
Optimizing CodeScanner
Customizing CodeScanner
Bugs Fixed
Symbian OS Crash Debugger
Concepts
Critical Threads and Processes
Debug Monitor
Kernel Calls and Thread Context
Process and Thread Priorities
Symbian OS Memory Map
Stacks
Thread and Process Exit Information Summary
Thread State Summary
Virtual Memory and Run Addresses
Reference
Overview
ARM Information
ARM Exception Types
ARM Fault Status Register Values
ARM Processor Modes
Crash Debugger Commands
C - Display contents of Object Container
c - Display contents of Object Container
f - Display Kernel Fault Information
i - Display Information for the Current Process and Thread
m - Do a Memory Dump
o - Display Brief DObject Information
r - Dump Register Contents
q - Display Full DObject Information
X - Leave Debugger, Return to Bootloader
x - Leave Debugger, Cold Restart ROM Image
z - Do a Memory Dump, Skipping over Unmapped Memory
Crash Debugger Views
Crash Debugger Console View
Memory Dump Options
Object Address
Crash Debugger Launch Configuration
Tasks
Call Stack
General Points
Finding the Stack
Tracing through the Stack Heuristically
Walking through the Call Stack
Examining Kernel Items
Kernel Objects
Kernel Containers
Extracting Kernel Information
Scheduler State
Current Thread State
Current Process State
Current Data Section Process
Finding Fault Types
Unhandled Exceptions
Panics
Memory
Examining Memory
Dumping the Contents of Classes
Setting Up the Debug Monitor
Using the MAKSYM Tool
Epocwind.out Scanner Guide
Working with Epocwind.out Scanner
Concepts
Symbian PlatSec
Symbian Capability
Symbian OS Emulation
EPOCWIND.OUT File
PlatSec Warning/Error Messages
Build Configuration
References
PlatSec Diagnostics Console
Tasks
Opening the PlatSec Diagnostics Console
Activating the PlatSec Diagnostics Console
Dependency Explorer
Release Notes
Getting Started
Overview
Basic walk-through
Concepts
Software Development Kit (SDK)
Component
Function
Properties
Tasks
Managing SDKs
Selecting SDKs
Setting preferences
Locating components
Analysing components
Checking component properties
Checking imported functions
Checking exported functions
Finding components
Searching for components and functions
Viewing source files
Viewing source file in project
Viewing method call locations
Exporting the report
References
Messages and notifications
Toolbar
Appendix: Static Dependencies to Dynamic Data
Legal
Legal
Carbide.c++ User Guide
Release notes
Carbide.c++ Overview
Introduction
System Requirements
Carbide.c++ Installation
Supported Target Types
Supported SDKs
Updating Carbide.c++
Tour of the UI
Project Updater
Application Emulator Debug Example
1. Creating New Projects
2. Building Projects and Symbian Components
3. Creating a Launch Configuration
4. Debugging a Symbian OS Program
DLL Emulator Example
Carbide Menus
On-Device Connection...
Open Command Window
Run CodeScanner
Run Leavescan
S60 UI Designer
Show in Explorer
Symbian OS C++ Class
New Symbian OS C++ Class wizard
Symbian OS C++ Project
New Symbian OS C++ Project wizard
Symbian OS MMP File
Context menus
Project management
Carbide C/C++ perspective
Project Explorer view
Symbian Project Navigator view
Executables view
Remote Connections view
Workspace Information
Carbide.c++ News view
Carbide.c++ preferences
Bug Reports
Build
Carbide.c++ News
Debugger
CodeScanner
Diagnostic Logs
Leavescan Preferences
Performance Investigator
Platform Filtering Preferences
Preprocess
SDK Preferences
UI Designer
Code Styles
Setting the Workspace Code Style
Reformatting a Source File
Working with SDKs
SDK Support
Adding an SDK
Adding SDKs
Searching for SDKs
Viewing SDK Properties
Editing SDK Properties
Adding Symbian Custom Kits
Creating projects
Project Templates
Creating from a Template
Importing Projects from a BLD.INF File
Importing Projects with Inter-Dependencies
N-Gage Projects
C/C++ Project and File Properties
Carbide Build Configurations
SIS Builder
SIS Properties
Environment
Arguments
Paths and Symbols
ROM Builder
Carbide Macro Settings
Carbide Project Settings
Building projects
Active Build Configuration
Setting an Active Configuration
Adding/Removing Build Configurations
Preprocessing Files
Building Projects
Cleaning Projects
Build All Configurations
Compile
Build Symbian Component
Clean Symbian Component
Freeze Symbian Component
Build PKG File
Building a ROM Image File
ABLD Actions
Freeze Exports
Resource and project editors
AIF files
AIF Editor
Creating an AIF File
Classes
Adding Classes
New Class Wizard
Adding Symbian OS Classes Wizard
INF editor
Overview tab
Exports tab
BLD.INF tab
Add / Edit Make File
Add / Edit MMP File
MBM/MIF files
MBM Editor
Creating MBM Files
MBM/MIF Editor
MMP files
MMP Wizard
MMP Editor
Sources tab
Libraries tab
Options tab
MMP File tab
Launch configurations
New Launch Configuration Wizard
Debug dialog
Launch configurations
Applications
Application TRK
Attach to Process
Emulation
Sophia (STI)
System TRK
Trace32
Configuration panes
Arguments
Common
Debugger
Executables
File Transfer
Installation
Main
ROM Image
ROM Log File
Sources
x86 Exceptions
Customizing launch configurations
Filtering launch configurations
Qt project support
Qt development setup
Creating Qt projects
Importing Qt projects
Qt C/C++ perspective
Qt preference panel
Qt project properties
Debugging projects
Running a program
Debug perspective
BreakPoints view
Console view
Debug view
Disassembly view
Executables view
Expressions view
Adding Expressions
Editing Expressions
Removing Expressions
Memory view
Working with Memory
Opening a Memory View
Adding a Memory Monitor
Adding a Memory Rendering
Removing a Memory Monitor or Rendering
Memory Rendering Options
Modules View
Registers
Registers view
Opening a Registers View
Changing Register Data Views
Expanding Register Groups
Changing Register Values
ARM Registers
Symbian OS Data view
Setting the Refresh Rate
Variables view
Working with Variables
Opening a Variables View
Showing Global Variables
Setting Variable Formats
Debugging actions
View debugging
Starting and Terminating
Suspending and Resuming
Stepping Over, Into, and Out of Routines
Other useful commands
Reposition the program counter
Breakpoints
Viewing breakpoints
Breakpoint status indicators
Enabling, disabling, and removing breakpoints
Breakpoint properties
Creating conditional breakpoints
Creating temporary breakpoints
Exporting breakpoints and watchpoints
Importing breakpoints and watchpoints
Toggle hardware breakpoints
Watchpoints
Viewing watchpoints
Watchpoint status indicators
Setting and removing watchpoints
Enabling and disabling watchpoints
Exporting breakpoints and watchpoints
Importing breakpoints and watchpoints
Variables and Expressions
Viewing variables
Adding and removing global variables
Viewing expressions
Adding and removing expressions
Editing expressions
On-Device Connections Overview
Remote Connections view
Adding, editing, and deleting connections
Exporting remote connections
Importing remote connections
Emulator projects
Setting Environment for x86 Compiler
Unsetting Built-in Environment
Run mode projects
Run Mode Overview
Auto-Targeting of Executables
Run Mode Debug Example
1. Preconditions to On-Device Debugging
2. Installing an On-Device Debug Agent
3. Creating a PKG File
4. Creating a .SIS File
5. Deploying Programs
6. Launch Configuration Setup
Debug (On-device Debugging) Overview
7. Debugging Applications
Debugging DLLs
Importing a Symbian Executable
Attaching to a Symbian OS Process
Debugging a Symbian OS Program
Registers
Symbian OS Data View
Troubleshooting
Stop mode projects
Stop Mode Debug Example
1. On-Device Debugging Preconditions
2. Symbian OS Trace32 Support
Main
Connection
Debugger
ROM Image
Executables
Source
Commmon
3. Symbian OS Sophia Target Interface Support
Main
Connection
Debugger
ROM Image
Executables
Source
Commmon
4. Using Soft Attach
Building a ROM Image File
ARM Registers
Symbian OS Data View
Toggle HW Breakpoint
Debugging variations
Emulation Debugging
Debugging DLLs
Debugging in ROM
Importing Symbian Executables
System Search
System Search view
System Search preferences
Tips & Hints
Creating Carbide Tools
Hover Help Guide
Overview
Set Up
Preferences
Shortcuts
Microsoft Visual Studio Shortcuts
Nokia Carbide.c++ Shortcuts
Nokia CodeWarrior Shortcuts
Bugs fixed
Legal
Release notes
Carbide.c++ Overview
Introduction
System Requirements
Carbide.c++ Installation
Supported Target Types
Supported SDKs
Updating Carbide.c++
Tour of the UI
Project Updater
Application Emulator Debug Example
1. Creating New Projects
2. Building Projects and Symbian Components
3. Creating a Launch Configuration
4. Debugging a Symbian OS Program
DLL Emulator Example
Carbide Menus
On-Device Connection...
Open Command Window
Run CodeScanner
Run Leavescan
S60 UI Designer
Show in Explorer
Symbian OS C++ Class
New Symbian OS C++ Class wizard
Symbian OS C++ Project
New Symbian OS C++ Project wizard
Symbian OS MMP File
Context menus
Project management
Carbide C/C++ perspective
Project Explorer view
Symbian Project Navigator view
Executables view
Remote Connections view
Workspace Information
Carbide.c++ News view
Carbide.c++ preferences
Bug Reports
Build
Carbide.c++ News
Debugger
CodeScanner
Diagnostic Logs
Leavescan Preferences
Performance Investigator
Platform Filtering Preferences
Preprocess
SDK Preferences
UI Designer
Code Styles
Setting the Workspace Code Style
Reformatting a Source File
Working with SDKs
SDK Support
Adding an SDK
Adding SDKs
Searching for SDKs
Viewing SDK Properties
Editing SDK Properties
Adding Symbian Custom Kits
Creating projects
Project Templates
Creating from a Template
Importing Projects from a BLD.INF File
Importing Projects with Inter-Dependencies
N-Gage Projects
C/C++ Project and File Properties
Carbide Build Configurations
SIS Builder
SIS Properties
Environment
Arguments
Paths and Symbols
ROM Builder
Carbide Macro Settings
Carbide Project Settings
Building projects
Active Build Configuration
Setting an Active Configuration
Adding/Removing Build Configurations
Preprocessing Files
Building Projects
Cleaning Projects
Build All Configurations
Compile
Build Symbian Component
Clean Symbian Component
Freeze Symbian Component
Build PKG File
Building a ROM Image File
ABLD Actions
Freeze Exports
Resource and project editors
AIF files
AIF Editor
Creating an AIF File
Classes
Adding Classes
New Class Wizard
Adding Symbian OS Classes Wizard
INF editor
Overview tab
Exports tab
BLD.INF tab
Add / Edit Make File
Add / Edit MMP File
MBM/MIF files
MBM Editor
Creating MBM Files
MBM/MIF Editor
MMP files
MMP Wizard
MMP Editor
Sources tab
Libraries tab
Options tab
MMP File tab
Launch configurations
New Launch Configuration Wizard
Debug dialog
Launch configurations
Applications
Application TRK
Attach to Process
Emulation
Sophia (STI)
System TRK
Trace32
Configuration panes
Arguments
Common
Debugger
Executables
File Transfer
Installation
Main
ROM Image
ROM Log File
Sources
x86 Exceptions
Customizing launch configurations
Filtering launch configurations
Qt project support
Qt development setup
Creating Qt projects
Importing Qt projects
Qt C/C++ perspective
Qt preference panel
Qt project properties
Debugging projects
Running a program
Debug perspective
BreakPoints view
Console view
Debug view
Disassembly view
Executables view
Expressions view
Adding Expressions
Editing Expressions
Removing Expressions
Memory view
Working with Memory
Opening a Memory View
Adding a Memory Monitor
Adding a Memory Rendering
Removing a Memory Monitor or Rendering
Memory Rendering Options
Modules View
Registers
Registers view
Opening a Registers View
Changing Register Data Views
Expanding Register Groups
Changing Register Values
ARM Registers
Symbian OS Data view
Setting the Refresh Rate
Variables view
Working with Variables
Opening a Variables View
Showing Global Variables
Setting Variable Formats
Debugging actions
View debugging
Starting and Terminating
Suspending and Resuming
Stepping Over, Into, and Out of Routines
Other useful commands
Reposition the program counter
Breakpoints
Viewing breakpoints
Breakpoint status indicators
Enabling, disabling, and removing breakpoints
Breakpoint properties
Creating conditional breakpoints
Creating temporary breakpoints
Exporting breakpoints and watchpoints
Importing breakpoints and watchpoints
Toggle hardware breakpoints
Watchpoints
Viewing watchpoints
Watchpoint status indicators
Setting and removing watchpoints
Enabling and disabling watchpoints
Exporting breakpoints and watchpoints
Importing breakpoints and watchpoints
Variables and Expressions
Viewing variables
Adding and removing global variables
Viewing expressions
Adding and removing expressions
Editing expressions
On-Device Connections Overview
Remote Connections view
Adding, editing, and deleting connections
Exporting remote connections
Importing remote connections
Emulator projects
Setting Environment for x86 Compiler
Unsetting Built-in Environment
Run mode projects
Run Mode Overview
Auto-Targeting of Executables
Run Mode Debug Example
1. Preconditions to On-Device Debugging
2. Installing an On-Device Debug Agent
3. Creating a PKG File
4. Creating a .SIS File
5. Deploying Programs
6. Launch Configuration Setup
Debug (On-device Debugging) Overview
7. Debugging Applications
Debugging DLLs
Importing a Symbian Executable
Attaching to a Symbian OS Process
Debugging a Symbian OS Program
Registers
Symbian OS Data View
Troubleshooting
Stop mode projects
Stop Mode Debug Example
1. On-Device Debugging Preconditions
2. Symbian OS Trace32 Support
Main
Connection
Debugger
ROM Image
Executables
Source
Commmon
3. Symbian OS Sophia Target Interface Support
Main
Connection
Debugger
ROM Image
Executables
Source
Commmon
4. Using Soft Attach
Building a ROM Image File
ARM Registers
Symbian OS Data View
Toggle HW Breakpoint
Debugging variations
Emulation Debugging
Debugging DLLs
Debugging in ROM
Importing Symbian Executables
System Search
System Search view
System Search preferences
Tips & Hints
Creating Carbide Tools
Hover Help Guide
Overview
Set Up
Preferences
Shortcuts
Microsoft Visual Studio Shortcuts
Nokia Carbide.c++ Shortcuts
Nokia CodeWarrior Shortcuts
Bugs fixed
Legal
New Bug Report
Bug Report
Bug Reports Preference panel
New Bug Report or Suggestion page
Report Summary Page
Bug Report
Bug Reports Preference panel
New Bug Report or Suggestion page
Report Summary Page
Performance Investigator User Guide
Release notes
Getting Started with Performance Investigator
Software Performance
Overview
Software Performance
Basic Analysis Procedure
Server Threads Analysis
Dynamic Binary Support Trace
Dynamic Memory Characteristics
Function Level Load Analysis
Performance Measurement Methods
Compile-Time Symbolic Information
DFC, Delayed Function Call
Dynamic Binary Resolution
File System
Interrupt Stack
Kernel Containers
Kernel Hook
Link Register
OS Thread Name and ID
Periodic Interrupt
Program Counter value
Read/Write Load Characteristics
ROFS
Profiler
Profiler
Installing the Profiler
Connecting by Bluetooth
Connecting by Serial Interface
Connecting by USB
Using the Profiler
Profiler options
Setting Tracing options
Setting Output Settings
Setting Advanced options
Trace items
Address/Thread Trace
Button Press Trace
Dynamic Binary Support Trace
Function Call Trace
Memory Trace
Power Usage Trace
Thread Priority Trace
Using the Command-line
Profiler Settings File
Analyzer
Analyzer Overview
Performance Investigator Analyzer
Basic Operation
Controls
Graph views
Thread Load
Binary Load
Function Load
Function Calls
Threshold Limits for Traced Data
Importing Profiler Data Files
Select Build Files for ROM
Examining a Profiling Project
Memory Usage
Memory Usage view
Memory Usage Statistics
Memory Usage menu
Menus
Context Menu Options
Save Table
Investigator menu
Memory Graph
Power Graph
Show Button Events
Options
Changing Button Event Information
Changing Graph Colors
Setting Thresholds
Setting Time Interval
Setting Key Press Profile
Power Usage
Power Usage Settings
Power Usage Statistics
Power Graph menu
Using Source Lookup
Analyzing Table Data
Acronyms
Bugs fixed
Legal
Release notes
Getting Started with Performance Investigator
Software Performance
Overview
Software Performance
Basic Analysis Procedure
Server Threads Analysis
Dynamic Binary Support Trace
Dynamic Memory Characteristics
Function Level Load Analysis
Performance Measurement Methods
Compile-Time Symbolic Information
DFC, Delayed Function Call
Dynamic Binary Resolution
File System
Interrupt Stack
Kernel Containers
Kernel Hook
Link Register
OS Thread Name and ID
Periodic Interrupt
Program Counter value
Read/Write Load Characteristics
ROFS
Profiler
Profiler
Installing the Profiler
Connecting by Bluetooth
Connecting by Serial Interface
Connecting by USB
Using the Profiler
Profiler options
Setting Tracing options
Setting Output Settings
Setting Advanced options
Trace items
Address/Thread Trace
Button Press Trace
Dynamic Binary Support Trace
Function Call Trace
Memory Trace
Power Usage Trace
Thread Priority Trace
Using the Command-line
Profiler Settings File
Analyzer
Analyzer Overview
Performance Investigator Analyzer
Basic Operation
Controls
Graph views
Thread Load
Binary Load
Function Load
Function Calls
Threshold Limits for Traced Data
Importing Profiler Data Files
Select Build Files for ROM
Examining a Profiling Project
Memory Usage
Memory Usage view
Memory Usage Statistics
Memory Usage menu
Menus
Context Menu Options
Save Table
Investigator menu
Memory Graph
Power Graph
Show Button Events
Options
Changing Button Event Information
Changing Graph Colors
Setting Thresholds
Setting Time Interval
Setting Key Press Profile
Power Usage
Power Usage Settings
Power Usage Statistics
Power Graph menu
Using Source Lookup
Analyzing Table Data
Acronyms
Bugs fixed
Legal
Qt Development User Guide
Getting Started
Managing Projects
Adding Files to the Project
Managing Resources
Custom Designer Plugins
What's New
Getting Started
Managing Projects
Adding Files to the Project
Managing Resources
Custom Designer Plugins
What's New
S60 5th Edition C++ Developer's Library v1.4
Legal notice
Change history and release notes
Guide to S60 5th Ed C++ Developer's Library v1.4
Searching and navigating the library
Library contents
Introduction to S60 5th Edition
New features in S60 5th Edition
New C++ APIs in S60 5th Edition
Platform UID
S60 devices
Supported formats and device capabilities
Display
Keys
Required keys
Extra keys
Full QWERTY keyboard
Locking the keys and the screen
Memory
S60 device user experience
Where the S60 user interface belongs
Keypad functions
Key presses
Keypad tone
Typical functions of the standard keys
Typical full QWERTY keyboard functions
Navigation
Navigating in applications
Navigation using tabs
Hierarchical application structures
Navigation using links
Multitasking
Softkeys and basic softkey configuration
Labeling the Selection key
Text editing
Editing menu
Editing indicators
Selecting text
S60 UI with rotation
What is S60 UI with side softkeys
Default layout description and the basic principles of rotation
Interaction
Rotation
Basic interaction style
Designing an application UI for the layout
Main pane
Status pane and the context pane
Title pane
Navi pane
Signal pane
Battery pane
Universal indicators
Control pane vs. softkey pane
Getting started
Before you start
Tutorial 1: Environment and tools
S60 platform SDKs
Integrated Development Environment
Compilers
Command line tools
Devices
Tutorial 2: Creating an application
Development and deployment steps
To start Carbide.c++
To develop applications for the emulator
To create a project with a wizard
To build an application for the emulator
To run the application in the emulator
Tutorial 3: Importing an existing application, description of files
Importing HelloWorldBasic to Carbide.c++
HelloWorldBasic folder structure
HelloWorldBasic files
HelloWorldBasic bld.inf
HelloWorldBasic mmp file
HelloWorldBasic icons make file
HelloWorldBasic graphics files
HelloWorldBasic backup registration file
HelloWorldBasic .pkg file
Tutorial 4: Deploying an application
To choose a package file for the build
To build an application for the mobile device
Deploying applications to mobile devices
Distributing your application to a wider audience
Tutorial 5: S60 project contents
S60 project types
Application UIDs
S60 project files
Build configuration files
Source files
Package files
Output files
Installation file
Tutorial 6: Development process
Analysis and design
Coding
Building
Testing
Deploying
To make an installation package
Designing applications for S60 5th Edition
Porting applications to S60 5th Edition
Binary compatibility
Designing application UIs for both touch and non-touch devices
User experience considerations
Mandatory changes for custom components
Changing the platform UID
Handling pointer events in custom controls
Implementing support for scalable UI
Listening for scrollbar touch events
Additional features
Enabling additional touch events for your application
Checking for touch support at runtime
Distinguishing between touch and keypad events in listboxes and grids
Touch UI
Touch support for common S60 components
Finger usable UI
Touch UI user experience
Designing applications for touch UI
Touch strategies
Touch-enabled vs. touch-optimized
Usability considerations
Scale and positioning of controls
Finger vs. stylus
Sensor interaction
Feedback
Select and activate: two short taps
Text fields
Touch down and hold
Text input
Adaptive search
Status pane items
Touch-based multiple selection
New component flags
New flags in CEikListBox
New flags in CEikDialog
New observer interfaces
Tactile feedback
Sensor interaction
S60 5th Edition API specifications
Toolbar API
Changes and release information
Class structure for the toolbar API
Enabling quick access to functions with a toolbar
Constructing the toolbar
Adding and removing toolbar items
Accessing the toolbar from applications or application views
Accessing toolbar items
Handling toolbar item events
Controlling toolbar visibility
Showing and hiding toolbar items
Dynamic initialization of the toolbar
Setting toolbar properties
Creating the toolbar extension
Adding and removing toolbar extension items
Accessing toolbar extension items
Showing or hiding the toolbar extension
Dimming or hiding toolbar extension items
Generic button API
Changes and release information
Enabling touch support for buttons
Creating generic button
Setting button properties not specific to any state
Using button states
Setting properties for button states
Handling button events
Using long-tap events
Using skin support in buttons
Stylus pop-up menu API
Changes and release information
Displaying commands in a context menu
Creating stylus pop-up menu
Handling stylus pop-up menu events and commands
Handling user command selection
Showing and hiding stylus pop-up menu
Adding and removing menu items
Setting stylus pop-up menu position
Hiding and showing stylus pop-up menu items
Choice list API
Changes and release information
Choice list API class structure
Providing a vertical list of selectable items
Creating the choice list
Adding items to the choice list
Getting user selection from the choice list
Deleting the choice list
Showing the choice list
Removing items from the choice list
Setting the item selected when the choice list is opened
Touch UI utilities API
Changes and release information
Touch UI utilities API class structure
Receiving long-tap events
Creating the long-tap detector
Handling long-tap events
Deleting the long-tap detector
Enabling and disabling the long-tap detector
Setting the time after which the long-tap event is sent
Setting the time before the long-tap animation starts
Title pane touch observer API
Changes and release information
Setting the title pane touch observer
Tactile feedback client API
Changes and release information
Definitions
Providing tactile feedback for touch events
Using direct feedback
Using area registry based feedback
Removing feedback from a control
Disabling and enabling feedback
Querying if feedback is supported
Managing feedback areas
Optimizing feedback latency
Tactile feedback implementation example
Sensor APIs
Changes and release information
Definitions for the sensor APIs
Sensor APIs class structure
Sensor channel, data, and property declarations
Types of sensor channels
Accelerometer sensor channel
Rotation sensor channel
Orientation sensor channel
Accelerometer double-tap sensor channel
Proximity monitor sensor channel
Ambient light sensor channel
Magnetic North channel sensor
Magnetometer XYZ sensor channel
Using sensor data in applications
Scanning for supported sensor channels on a device
Finding and opening a sensor channel
Listening for channel data
Closing a sensor channel
Listening for channel changes
Getting channel properties
Setting channel properties
Using array properties
Listening for channel property changes
Scaling channel data
Listening for channel data with conditions
Calibrating the Magnetic North sensor channel
Testing
Overview of software testing
Understanding testability
Developing unit tests
Black-box versus white-box testing
Behavioral testing techniques
Structural methods
Using stubs and mock objects
Testing your software
Setting up a test project
Tool setup
Creating the unit test project
Building the test and running it in the emulator
Stubbing dependencies
Implementing tests
Using a code coverage tool
TestSource.cpp
Technology area guides
Application and UI frameworks
Application framework concepts
Resources
Registration
Framework requirements for GUI applications
Implementing framework requirements
Event handling
Commands
Handling EEikCmdExit
Window server events
Key events
Receiving key event data in your application
Handling key events in your application
Layout change events
Foreground events
Pointer events
System events
Application-specific events
Other window server events
System environment events
Environment changes
Domain-specific events
Contacts database events
Alarm server events
World server events
Managing resource files
How resource files work
Resource file structure
Precompiled resource values available from the S60 platform
Required resource file statements
Optional resource file statements
Resource string handling
Creating registration resource files
Defining localizable registration information
Creating resource header files
Resource management example: HelloWorldBasic
helloworldbasic.rss
HelloWorldBasic_reg.rss
UI concepts
Relationship between framework and applications
Scalability
Themes
UI controller
Controls
Window owning and non-window owning controls
Relationship between window controls
Compound controls
Commonly used controls
Views
UI architectures
Traditional Symbian OS UI application architecture
Constructing the UI controller in traditional architecture
Views in traditional architecture
Constructing views in traditional architecture
Drawing in traditional architecture
Compound controls in traditional architecture
Switching views in traditional architecture
S60 view architecture
Constructing the UI controller in S60 view architecture
View controller in S60 view architecture
Constructing the view controller in S60 view architecture
View resource statements in S60 view architecture
Switching views in S60 view architecture
Views in S60 view architecture
Constructing views in S60 view architecture
Drawing in S60 view architecture
Compound controls in S60 view architecture
Dialog architecture
When to use dialog architecture
Basic implementation
Resources
Constructing a dialog
Advanced implementation
Mixing dialog and other application architectures
Internationalization and localization
Locale-sensitive data types
UI text strings
Implementing UI text localization
S60 UI components
Menu
Windows and panes
Main pane
Status pane
Title pane
Navi pane
Signal pane
Battery pane
Universal indicator pane
Control pane
CBA buttons
Using precompiled CBA button resources
Defining resources for your own CBA buttons
Scroll pane
Layout changes in bi-directional languages
Pop-up windows
Presentation of text
UI themes
Dimming
Lists and grids
Highlighting
Empty lists and grids
List browsing
Order of items and browsing in grids
List types
Menu list
Selection list
Markable list
Multi-selection list
Setting list
Hierarchical list
Hierarchical column list
Forms
Always-editable forms
Forms without the options softkey
Form items
List layouts
Column structure of lists
List item types
Numbered items
Item type combinations
Grid types
Find pane
Options menu
Submenus
Submenu indicators
Unavailable items
Other Options menus
Options template
Menu bars
Menu bar resource statements
Using menu sections in menu bar resource statements
Toolbar
Preview pop-up
Stylus pop-up menu
Notes
Confirmation note
Information note
Warning note
Error note
Permanent note
Wait note
Progress note
Soft notifications
Discarding soft notifications
Many simultaneous soft notifications
Information pop-up
Queries
Confirmation query
List query
Grid query
Multi-selection list query
Data query
Password query
Data queries with multiple fields
Message query
Slider pop-up
Volume Control pop-up
Indicators
Signal and battery indicators
Universal indicators
Indicators in the Navi pane
Editing indicators in pop-up windows
Soft indicators
Operator indicator
Application-specific indicators
Messaging
Messaging application services
Multimedia
What you need to know
Multimedia services
Supported codecs
DRM-protected multimedia
Playing DRM-protected audio content
Using the camera in applications
Using autofocus
Capturing still images
Embedding camera applications
Displaying an image on the screen
Capturing a video clip
Playing a video clip
Streaming video
Storing and accessing an image or a video
Communication
What you need to know
Mobile device connections
Mobile connection design considerations
Access point
Bluetooth and infrared
Making an IP connection
Initializing a Bluetooth connection
Transferring data over a Bluetooth connection
Transferring data over an infrared connection
Making telephone calls and retrieving device information
Destination networks
Establishing a connection with destination networks
Defining connection management items
Prompting the user to select a destination network
Starting the connection through the destination network
Using application-level roaming
Browsing and downloading
Browsing
Downloading
Personal Information Management (PIM)
PIM application services
Location
What you need to know
How location is determined
Location information
Finding the location of a mobile device
Storing location information on a mobile device
Security
Planning system and software security
Threats
General protection principles
Platform security architecture
Capabilities
Application signing
Data caging
Device security
Device security mechanisms
Application security
Client/server communication
Process identification
Applications with an user interface
Plug-ins
Software installer
Publish and Subscribe
Descriptors
Communications security
Secure Sockets
IPv4/IPv6 dual-stack
Host name resolution
Local connectivity
Content security
Backup and restore
Cryptography
Digital rights management
OMA DRM
Rights issuer and content issuer
DRM rights objects
DRM agent
DRM content format
OMA DRM v1.0
OMA DRM v2.0
Supported OMA DRM v2.0 features
Rights object acquisition protocol
OMA DRM v2.1
WMDRM
Configuring the application’s platform security settings in the emulator
S60 C++ API reference
Rules for API Usage
C++ API Reference
Quick Reference
S60 Application Services
Contacts Application Services
Phonebook Data Add Edit UI API
Classes and Definitions
CPbkContactEditorDlg
CPbkDataSaveAppUi
MPbkDataSaveCallback
MPbkEditorOkToExitCallback
MPbkEditorOkToExitCallback.h
PbkDataSaveAppUi.hrh
CPbkDataSaveAppUi.h
CPbkContactEditorDlg.h
Phonebook Data Management API
Classes and Definitions
CPbkContactChangeNotifier
CPbkContactEngine
CPbkContactItem
CPbkContactIter
CPbkFieldArray
CPbkFieldInfo
CPbkFieldsInfo
CPbkIdleFinder
MPbkContactDbObserver
MPbkFieldData
MPbkFieldDataArray
TPbkContactItemField
TPbkContactItemField.h
CPbkIdleFinder.h
MPbkFieldData.h
CPbkFieldsInfo.h
CPbkContactIter.h
CPbkContactEngine.h
PbkIconId.hrh
CPbkFieldInfo.h
CPbkContactItem.h
PbkFields.hrh
CPbkContactChangeNotifier.h
MPbkContactDbObserver.h
Phonebook Fetch UI API
Classes and Definitions
CPbkAddressSelect
CPbkAddressSelect::TBaseParams
CPbkEmailAddressSelect
CPbkEmailAddressSelect::TParams
CPbkEmailOverSmsAddressSelect
CPbkEmailOverSmsAddressSelect::TParams
CPbkItemTypeSelectAddToExisting
CPbkItemTypeSelectCreateNew
CPbkMemoryEntryAddItemDlg
CPbkMmsAddressSelect
CPbkMmsAddressSelect::TParams
CPbkMultipleEntryFetchDlg
CPbkMultipleEntryFetchDlg::TParams
CPbkPhoneNumberSelect
CPbkPhoneNumberSelect::TParams
CPbkPhoneNumberSelectBase
CPbkPocAddressSelect
CPbkPocAddressSelect::TParams
CPbkSelectFieldDlg
CPbkSingleEntryFetchDlg
CPbkSingleEntryFetchDlg::TParams
CPbkSingleItemFetchDlg
CPbkSingleItemFetchDlg::TParams
CPbkSmsAddressSelect
CPbkSmsAddressSelect::TParams
CPbkVideoNumberSelect
CPbkVideoNumberSelect::TParams
CPbkVoipAddressSelect
CPbkVoipAddressSelect::TParams
MPbkFetchDlgAccept
MPbkFetchDlgSelection
MPbkFetchKeyCallback
CPbkPhoneNumberSelectBase.h
CPbkMemoryEntryAddItemDlg.h
CPbkVoipAddressSelect.h
CPbkMultipleEntryFetchDlg.h
CPbkSelectFieldDlg.h
CPbkSingleEntryFetchDlg.h
CPbkSingleItemFetchDlg.h
CPbkEmailAddressSelect.h
CPbkVideoNumberSelect.h
MPbkFetchDlgSelection.h
CPbkEmailOverSmsAddressSelect.h
MPbkFetchCallbacks.h
CPbkPhoneNumberSelect.h
CPbkPocAddressSelect.h
CPbkAddressSelect.h
CPbkSmsAddressSelect.h
CPbkMmsAddressSelect.h
Phonebook Thumbnail operation API
Classes and Definitions
MPbkThumbnailGetImageObserver
MPbkThumbnailGetObserver
MPbkThumbnailSetObserver
MPbkThumbnailOperationObservers.h
Phonebook UI Utilities API
Classes and Definitions
CPbkIconInfoContainer
CPbkViewState
PbkIconUtils
RPbkViewResourceFile
TPbkIconInfo
CPbkViewState.h
RPbkViewResourceFile.h
PbkIconInfo.h
Phonebook vCard Import Export API
Classes and Definitions
CBCardEngine
BCardEng.h
Speed Dial Utility Control API
Purpose
API description
Using Speed Dial Utility Control API
Classes and Definitions
CSpdiaControl
SpdiaControl.h
IM Application Services
IM API
Purpose
API description
Using IM API
Memory and error handling
Extensions to the API
Glossary
References
Classes and Definitions
CImConnection
MImClient
MImClientDetailedError
MImConnectionObserver
MImObserver
imclient.h
imerrors.h
imconnection.h
IM Application Launch API
Purpose
API description
Using IM Application Launch API
Memory and error handling
Glossary
References
Classes and Definitions
CImLauncherPlugin
imlauncherplugin.h
Location Application Services
BLID Application Satellite Info API
Changes
Purpose
API description
Using BLID Application Satellite Info API
Glossary
References
Classes and Definitions
CSatelliteInfoUI
CSatelliteInfoUI.h
Landmarks UI Add Edit API
Changes
Purpose
API description
Using Landmarks UI Add Edit API
Glossary
References
Classes and Definitions
CLmkEditorDlg
CLmkEditorDlg::TLmkEditorParams
CLmkEditorDlg.h
Landmarks UI Selector API
Purpose
API description
Using Landmarks UI Selector API
Glossary
References
Classes and Definitions
CLmkCategorySelectorDlg
CLmkLandmarkSelectorDlg
TLmkItemIdDbCombiInfo
CLmkCategorySelectorDlg.h
TLmkItemIdDbCombiInfo.h
CLmkLandmarkSelectorDlg.h
Messaging Application Services
Messaging Editor Constants API
Classes and Definitions
MsgEditor.hrh
Messaging Integration API
Changes
Purpose
API description
Using Messaging Integration API
Glossary
References
Classes and Definitions
MessagingSDKCRKeys.h
ExtendedMTMIDS.hrh
MMS Client MTM API
Purpose
API description
Using MMS Client MTM API
Glossary
References
Classes and Definitions
CMmsClientMtm
TMmsCharacterSetLookup
mmsconst.h
mmserrors.h
mmsclient.h
Open New Message Notification API
Classes and Definitions
MNcnNotification
MNcnNotification.h
Plug-in Bio Control API
Purpose
API description
Using Plugin BIO Control API
Glossary
Classes and Definitions
CMsgBioControl
CRichBio
MMsgBioBodyControl
MMsgBioControl
MMsgBioControlExtension
MMsgBioControlObserver
MMsgBioControlScrollExtension
MMsgBioControl.h
MsgBioControl.h
CRichBio.h
MsgBioControlObserver.h
MMsgBioControlExtension.h
MsgBioUids.h
Send UI API
Purpose
API Description
Using the SendUi API
Glossary
Classes and Definitions
CMessageAddress
CMessageData
CSendUi
CSendingServiceInfo
TSendingCapabilities
CMessageAddress.h
SenduiMtmUids.h
CSendingServiceInfo.h
CMessageData.h
SendUi.h
TSendingCapabilities.h
SendUiConsts.h
Organizer Application Services
Clock Model Observer API
Classes and Definitions
MClkModelObserver
ClkMdlObserver.h
Common Date and Time View API
Purpose
API description
Using Common Date and Time View API
Classes and Definitions
CClkDateTimeView
TClkDateTimeInfo
ClkDateTimeView.h
Notepad Library API
Purpose
API description
Using Notepad Library API
Classes and Definitions
CNotepadApi
NpdApi.h
Profile Application Services
Profiles Engine Active Profile Settings API
Classes and Definitions
ProfileEngineSDKCRKeys.h
Profiles Engine Wrapper API
Classes and Definitions
MProEngActiveProfileObserver
MProEngAlertToneSeeker
MProEngAlertToneSeekerObserver
MProEngEngine
MProEngNotifyHandler
MProEngProfile
MProEngProfileActivationObserver
MProEngProfileName
MProEngProfileNameArray
MProEngProfileNameArrayObserver
MProEngProfileObserver
MProEngToneSettings
MProEngTones
ProEngFactory
MProEngProfileActivationObserver.h
MProEngProfileObserver.h
ProEngFactory.h
MProEngNotifyHandler.h
MProEngEngine.h
MProEngProfileName.h
Profile.hrh
MProEngProfile.h
MProEngActiveProfileObserver.h
MProEngProfileNameArray.h
MProEngProfileNameArrayObserver.h
MProEngTones.h
MProEngAlertToneSeeker.h
MProEngToneSettings.h
MProEngAlertToneSeekerObserver.h
S60 Platform Services
Classic UI Services
AIW Criteria API
Purpose
API description
Using AIW Criteria API
Glossary
References
Classes and Definitions
CAiwCriteriaItem
MAiwNotifyCallback
AiwCommon.hrh
AiwCommon.h
AiwCommon.rh
AIW Generic Parameter API
Purpose
API description
Using AIW Generic Parameter API
Glossary
References
Classes and Definitions
CAiwGenericParamList
TAiwGenericParam
TAiwVariant
AiwGenericParam.hrh
AiwVariant.h
AiwGenericParam.h
AiwVariantType.hrh
AIW Service Handler API
Purpose
API description
Using AIW Service Handler API
Glossary
References
Classes and Definitions
CAiwServiceHandler
AiwServiceHandler.h
Animation API
Classes and Definitions
CAknBitmapAnimation
RAknBitmapAnim