the ilog flash editor: a software tool for creating...
TRANSCRIPT
1
The iLOG Flash Editor:
A Software Tool for Creating Interactive
Learning Activities in Flash
A Thesis for Completion of the Requirements
for Graduation from the UNL Honors Program
By: Jesse Hostetler
Advisors: Dr. Leen-Kiat Soh & Dr. Ashok Samal
April 26, 2009
3
ABSTRACT
Learning objects – self-contained electronic learning software – can improve student
success by supplementing traditional classroom instruction, enabling students to
experience learning content at their own pace, and easing the workload on their
instructors. However, creating interactive, graded, visually appealing learning objects is
time-consuming and often requires extensive programming. The iLOG Flash Editor (IFE)
is a tool designed to increase the accessibility of learning objects to educators by allowing
them to create graded, interactive learning objects without programming. By exploiting
the Question and Test Interoperability (QTI) standard for reusable assessment question
specification, the IFE system separates the content of graded assessments from its
presentation, allowing the same content easily to be reused in different visual forms.
Although many software tools allow users to create graded learning activities, the iLOG
Flash Editor is unique in integrating the reusability of a widely-recognized content
specification standard with the flexibility to realize the content specification in different
visual formats. This thesis describes the design of the iLOG Flash Editor and the
experience gained from deploying a preliminary version for use in an intermediate
computer science class. The results of this early usage test demonstrate that, while
additional functionality is needed, the iLOG Flash Editor can effectively aid course
designers in creating effective electronic learning content. Directions for future
development are also discussed.
5
Table of Contents
Abstract ................................................................................................................................2
1. Introduction ....................................................................................................................7
1.1. Problem Description ...............................................................................................7
1.2. Motivation ...............................................................................................................7
1.3. Solution Approach ..................................................................................................8
1.4. Contribution ............................................................................................................8
1.5. Overview of Thesis .................................................................................................8
2. Related Work ................................................................................................................9
2.1. Lectora ....................................................................................................................9
2.2. Content Clips ..........................................................................................................9
3. System Design .............................................................................................................10
3.1. Selection of Implementation Technologies ..........................................................10
3.1.1. Application Programming Language .........................................................10
3.1.2. Flash as a Learning Object Platform ..........................................................11
3.1.3. QTI Assessment Specification Format ......................................................12
3.1.4. Third-party Software Components ............................................................12
3.2. IFE System Overview ...........................................................................................14
3.3. C++ Components and Operations .........................................................................14
3.3.1. Graphical User Interface Design ................................................................14
3.3.2. Document/View Architecture ....................................................................15
3.3.3. Flash ↔ C++ Interface ..............................................................................15
3.3.4. Project File Format ....................................................................................16
3.3.5. QTI Implementation...................................................................................16
3.3.6. Interaction Wizard .....................................................................................17
3.3.7. MXML Source File Generation .................................................................17
3.3.8. Flex Compiler Invocation ..........................................................................18
3.4. Flash Components ................................................................................................18
3.4.1. Flash Component Manager ........................................................................18
3.4.2. Flash Slide Chooser ...................................................................................19
3.5. Flash Runtime Library ..........................................................................................19
3.5.1. Grading Facilities .......................................................................................20
3.5.2. Built-in Runtime Object and Functions .....................................................20
3.5.3. Dynamic Interface System .........................................................................20
4. Experiences with Deployment of Alpha Version ........................................................21
4.1. Problems with Initial Deployment Version ..........................................................21
4.2. User Survey Results ..............................................................................................22
5. Future Work .................................................................................................................23
5.1. Design Enhancements and Additional Features ...................................................23
5.1.1. Support for Additional Interaction Types ..................................................23
5.1.2. Integration with iLOG Usage Data Tracking Framework .........................24
5.1.3. Support for Additional Event Handlers .....................................................24
5.1.4. Animations .................................................................................................24
5.2. Research ...............................................................................................................24
6
5.2.1. Framework for Mapping Assessment Presentation to Assessment Grading
Rules ..............................................................................................................24
6. Conclusion ..................................................................................................................25
Acknowledgements ............................................................................................................26
References ..........................................................................................................................27
A. Appendix: IFE Project File Documentation ...............................................................29
A.1. IFE Project Manifest Format ...............................................................................29
A.2. XML Runtime System Initialization Format .......................................................31
A.3. Resource Directory Structure ..............................................................................33
B. Appendix: C++ Documentation ...................................................................................35
C. Appendix: Flash Editor Components Documentation ...............................................221
D. Appendix: Flash Runtime Library Documentation....................................................223
E. Appendix: IFE Usability Survey ................................................................................225
7
1. Introduction
1.1 Problem Description
A learning object, in the context of this thesis, is a self-contained electronic
learning activity designed to supplement or replace traditional classroom instruction.
While a learning object may take the form of anything from a simple hypertext document
to a video, a podcast, or a fully-immersive 3-D environment, we will concern ourselves
primarily with interactive learning objects experienced over the Internet which feature a
graded assessment component. Creating such learning objects typically requires extensive
programming, and most educators do not have the necessary time or programming skills.
Thus, educators who wish to incorporate interactive learning objects into their courses
must either pay a third-party developer to create them or use existing learning objects
which may not fit neatly into their lesson plans. As a result, use of learning objects as a
significant portion of a course of instruction is uncommon. A quicker, easier way of
creating interactive learning objects would increase adoption, making their benefits more
widely available.
1.2 Motivation
Research investigating the instructional use of learning objects has found them to
be an effective means of improving student performance [5, 6, 7, 8]. Learning objects
distributed over the Internet can improve student success by supplementing traditional
classroom instruction and enabling students to experience learning content at their own
pace and at a place and time of their choosing. Learning objects featuring graded
assessments can also ease the workload on instructors by automating some of their
grading tasks and helping them to identify students that are having difficulties.
Students tend to respond more positively to interactive learning objects [6, 7, 9].
We will define interactivity as the property of a learning object of 1) requiring actions
from the learning and 2) responding to those actions. Alternatively, we could say that
interactivity implies two-way communication between the learner and the learning object.
A learning object comprised of a simple text document is not interactive, since the
student merely experiences the content without taking any significant actions. However,
an assessment question that does not provide feedback is also not interactive, since the
learning object does not respond to the student‟s actions. In order to provide interactivity,
the learning object must parse student inputs, determine the appropriate feedback
response, and present it to the student. In the context of graded assessment activities, this
means checking the correctness of the student‟s answer, determining why the student
might have given a particular incorrect answer, and giving immediate feedback to the
student on his or her performance. Thus, any tool for the design of interactive learning
objects must support a framework for evaluating student responses.
The use of visual media such as animations in learning objects improves not only
student opinions of the learning object [8, 10] but also student performance on
subsequent assessments [10]. Animations capture the attention of users and provide
concrete illustrations of a concept in ways that are not possible with simple text and
images. Unfortunately, creating animations generally requires either complicated
8
programming or the purchase of an expensive, proprietary software tool. While such tools
may be a good investment for course creators that wish to use many elaborate animations,
they are overkill for the designer who has simpler goals. A tool that provides a
straightforward means of creating simple animations could bring their advantages to a
larger number of learning objects.
1.3 Solution Approach
The iLOG Flash Editor (IFE) is a software tool that allows users to design graded,
interactive Flash-based learning objects using an intuitive graphical interface. By making
it easier for educators without programming knowledge to create interactive learning
objects, the IFE system is a step toward increasing the adoption rate of learning objects as
a supplement to classroom instruction.
The IFE system is designed to:
1. Allow designers to create interactive content with minimal constraints on its form
or semantics.
2. Provide a means to map the interactive content into a standardized assessment
specification framework to facilitate grading and feedback.
3. Enable diverse multimedia content such as sounds and images to be brought
together to enhance the learning experience.
4. Provide a platform for the creation of simple animations.
5. Have no proprietary components or dependencies.
1.4 Contribution
When completed, the IFE system will offer a set of features unavailable in any
other free software system. By providing a complete concept-to-deployment workflow
for interactive learning object design in a single no-cost package, the IFE system brings
learning object authoring within the reach of more educators. The result is the creation of
a larger number of learning objects in a wider variety of subject areas. With more
learning objects available, the chances that they will be used increases. Wider adoption
and deployment of interactive learning objects benefits students by making the
demonstrated benefits of e-learning technology available to a greater number of them. It
benefits educators by providing a larger pool of learning objects to choose from should
they be hesitant to create their own. It also benefits the research community by expanding
the number of real world learning object usage scenarios available to study and by
familiarizing students and teachers with e-learning technology, making them more likely
to participate in e-learning research. Making learning object creation quicker and easier is
an important step in advancing the field of e-learning as a whole.
1.5 Overview of Thesis
This document is divided into five additional chapters. Chapter 2 describes other
software tools that can be used to create web-based learning objects and compares their
9
features to those of the IFE system. Chapter 3 details the design of the IFE system and
discusses alternative design approaches that were considered. In Chapter 4, the results of
a trial software deployment to an intermediate computer science class are summarized.
Chapter 5 describes future work which could improve the usefulness of the IFE system.
Finally, Chapter 6 contains a summary of the work and concluding remarks.
2. Related Work
This chapter describes two existing learning object creation tools, and compares
their design goals and features to those of the IFE system.
2.1 Lectora
Lectora (http://www.trivantis.com) is a software tool for creating learning objects
conforming to the Sharable Content Object Reference Model (SCORM) [3] standard. The
Lectora software was used in the iLOG project (http://cse.unl.edu/agents) to create
learning objects for research purposes. The software provides the ability to integrate
hypertext documents into a longer sequential lesson and to design graded assessment
questions representing several different types of interactions (i.e. multiple choice,
matching, fill-in-the-blank, etc).
Lectora is primarily a content aggregation system, not a content creation system;
its purpose is to package a set of resources according to a content aggregation standard
such as SCORM. While assessment questions can be created within the Lectora system,
only a single basic presentation format for each type of assessment item is supported,
limiting the creativity of the learning object designer. The IFE system differentiates itself
from Lectora by placing a greater emphasis flexible assessment creation. Because it does
not concern itself with the intricacies of content packaging, IFE is free to focus on
producing learning objects with a greater level of interactivity in a greater variety of
formats.
2.2 Content Clips
Content Clips [4] is an NSF-funded project whose purpose is to improve the
usability of so-called “digital libraries,” which are aggregations of multimedia content
accessible over the Web. To this end, the project designers have implemented a web
interface (http://www.contentclips.com) which allows users to create learning objects by
combining multimedia objects such as images and videos that are retrieved from an
online repository. The project‟s authors have also proposed support for graded student
interactions, but this feature had not been implemented at the time of this writing.
The Content Clips system attempts to improve the reusability of learning object
designs by aggregating multimedia objects into “sets” and allowing different sets of
objects to be swapped in and out of the same design. This capability is similar to, yet
subtly different from, one of the design objectives of the IFE system: whereas Content
Clips seeks to use the same design with different content, the IFE system is designed to
allow different designs to be used with the same content. This difference in approach is
vitally important when graded interactions are incorporated into the learning object. In
10
order to grade a student‟s response, the learning object must be able to interpret the states
of the graphical components on the screen (such as whether a button or icon has been
selected) and extract the student‟s response in a format that the computer can understand.
This requires knowledge of the semantic meaning of a multimedia object.
Suppose we have designed a multiple-choice question in which the student must
select the picture of a cat from a set of four pictures of animals. In order to grade this
question, the system must know which picture is the correct answer and what the states of
the components of the interaction will be if the student has chosen that answer (e.g.
which button will be selected). If we now replace the set of images with pictures of cars
and ask the student to choose the red car, our grading rules no longer work. In general, it
is not possible simply to replace one set of stimuli in an assessment item with another set;
in one way or another, the meaning of the stimuli must be known. In our example, this
would mean either that metadata must be embedded in the set of images that indicates
which image is the correct answer (thus tying the image set to a specific interaction
context) or that a new interaction must be created (the situation we were trying to prevent
by plugging new content into the existing interaction).
Thus, the goal of freely swapping content in and out of a design framework is
ultimately restrictive: either a structure must be imposed on the sets of content or the
interaction in which they take part cannot be graded. In contrast, the IFE approach to
content reusability keeps the content (and its semantics) static, while varying the way in
which the learner interacts with the content. The mapping between content and grading
semantics is abstracted into an intermediate layer (Chapter 3.5.3). In this way, the IFE
system allows design and content reusability to the maximum degree possible while
preserving the ability to grade student interactions.
3. System Design
3.1 Selection of Implementation Technologies
The design requirements of the IFE system necessitated careful selection of the
technologies used to implement it. This chapter describes the technologies that were
ultimately chosen, alternatives that were rejected, and the rationale for these choices.
3.1.1 Application Programming Language
The choice of programming language used to implement the editor application
dictated much of the development workflow and many future design decisions. Four
primary requirements drove the selection of application programming language:
1. The application should, as much as possible, be platform-independent.
2. The application must be able to interact with the user‟s computer system in order
to save and load project files and import external resources from the file system.
3. The application must be able to invoke the Adobe Flex 3 compiler
programmatically in order to compile the learning object design into a Flash
executable.
11
4. The application must be capable of displaying and editing Flash graphical
components so that the user can see the learning object design exactly as it will
appear to the students interacting with it.
Three languages were initially considered as candidates for the application programming
language. The most promising early option was to implement the entire application in
Flash1 and to run it using the Adobe AIR system (http://www.adobe.com/products/air/),
which allows Flash applications to be run locally on a user‟s computer like traditional
desktop applications. This would eliminate the need to host a Flash Player plugin within
the application in order to display the Flash components. However, due to security
restrictions, it is not possible to invoke external applications (namely, the Flex 3
compiler) from within an AIR application. Thus, this approach was abandoned.
With AIR being unsuitable, the two remaining options were the two most popular
application programming languages: Java and C++. Java has several advantages over
C++. All of the functionality in the Java standard library, as well as extensions like the
Swing GUI system, is platform-independent. Moreover, development effort is typically
less in Java due to features like automatic memory management and shorter compilation
times. However, because the is no pure-Java implementation of the Flash Player plugin,
embedding a Flash Player in a Java application would require making native system calls
using the Java Native Interface (JNI). This would require sacrificing some of Java‟s
natural platform-neutrality, eroding one of its chief advantages.
The final option, C++, has its own advantages. Using the wxWidgets libraries
(http://www.wxwidgets.org), most of the application, including the graphical user
interface, can be written in a platform-neutral manner. Unlike Java Swing, graphical
interfaces written with wxWidgets look and feel native: when compiled under Microsoft
Windows, the application will look like a typical Windows application, while the same
application, when compiled under Apple OSX, will look like an OSX application. This is
an important consideration when creating an application intended for use by
inexperienced computer users, since deviations from the typical look-and-feel of the
user‟s system may make the interface more confusing. The wxWidgets library also offers
several classes that simplify the task of embedding the Flash Player. On Windows
systems, the wxWidgets ActiveX control wrapper class can be used to encapsulate the
Flash Player plugin. On other systems, the Mozilla web browser can be embedded in the
application and the Flash Player plugin run in the web browser. For these reasons, C++
was chosen as the application programming language.
3.1.2 Flash as a Learning Object Platform
A learning object designed to be distributed over the web must be built on top of a
technology that satisfies several requirements. The technology must be portable, so that,
as much as possible, students may use it on any computer without downloading
additional software components. It must be capable of aggregating multimedia content of
1 “Flash” is not a programming language, but a runtime system. Flash applications are programmed in
Actionscript, a variant of Javascript, and Flex, a declarative XML-based language used to describe
component layout. For simplicity, the term “Flash” is used to represent both Flash applications and the
languages used to implement them.
12
a variety of types and formats, so that a learning object can incorporate existing
resources. It must support interactive instructional paradigms, in which student actions
trigger the presentation of additional content or feedback.
Adobe Flash technology satisfies all of these requirements, providing an ideal
platform on which to build interactive learning objects. According to market research
commissioned by Adobe (http://www.adobe.com/products/player_census/flashplayer/)
the Flash Player plugin is installed on 99% of “Internet-enabled desktops in mature
markets”, and many browsers provide facilities to automatically download and install the
plugin if necessary. Images, sounds, and videos in a variety of common formats can all be
embedded easily in a Flash application. Flash also provides extensive native facilities for
animation and drag-and-drop interactions. Finally, the XML-based Flex language greatly
simplifies the task of generating learning object source code programmatically. Because
of the declarative, hierarchical structure of a Flex application, the properties of
components and the relationships between them are part of the structure of the document.
When compared to a language such as Java, Flex code for a given learning object design
is far easier to generate. These considerations, as well as prior programming
experience, led to the choice of Flash as the learning object implementation language.
3.1.3 QTI Assessment Specification Format
Much of the usefulness of electronic learning objects for educators comes from
the ability to include graded assessments within them. When an activity is graded,
students have greater incentive to pay close attention to the material, and educators have
a means of identifying and correcting learning deficiencies. Thus, a primary design
requirement of the IFE system was that it should be capable of creating graded
assessments. Naturally, it is then necessary to define a means of specifying the question
format and the correct answer. The Question and Test Interoperability (QTI) standard [1]
is an open standard designed to address this problem. The QTI content model provides a
means of describing a wide range of different graded assessment items, as well as grading
rules that can be combined to create an algorithm for evaluating the correctness of a
student response. Because QTI is an open standard, assessments designed with IFE could
be exported in QTI format and used in other compatible learning object systems, and
assessments designed using other systems could be imported into IFE. The QTI standard
was therefore selected as the assessment specification format for use in the IFE system.
3.1.4 Third-Party Software Components
The IFE system uses several third-party software libraries and applications. In
keeping with the goal of using no proprietary components, all of the third-party software
described here is freely redistributable, and most is open-source.
3.1.4.1 wxWidgets C++ Library
The wxWidgets library (http://www.wxwidgets.org) is a cross-platform graphical
user interface (GUI) library and application development framework. In addition
to the typical GUI functionality such as windows, menus, and an event system,
13
the wxWidgets library provides classes for XML document manipulation, ZIP
archive manipulation, file system interaction, and interprocess communication.
The wxWidgets GUI system is unique in that all GUI classes are simply wrappers
around native GUI components, thus providing a platform-native look-and-feel to
the IFE system‟s graphical user interface.
The wxWidgets library is licensed under the “wxWindows Licence,” an open-
source license that is similar to the GNU Lesser General Public License
(http://www.gnu.org/licenses/lgpl.html). The IFE system uses wxWidgets version
2.8.7.
3.1.4.2 Boost C++ Libraries
The Boost C++ libraries (http://www.boost.org) are a set of useful utility libraries
implemented in platform-independent standard C++. The Boost libraries speed
C++ development by providing high-quality implementations of commonly-used
functionality. The IFE system uses Boost for such purposes as smart pointers,
hash tables, discriminated union containers, and template metaprogramming.
The Boost libraries are licensed under the “Boost software license,” which is similar to
the MIT software license (http://www.opensource.org/licenses/mit-license.php). The IFE
system uses Boost version 1.37.
3.1.4.3 Adobe Flex 3 SDK
The Adobe Flex 3 SDK contains the Flex standard libraries, as well as the Flex 3
compiler and debugger and the “asdoc” documentation generator. The IFE system
uses the Adobe Flex 3 compiler to compile the source code generated by the
editor software into a Flash executable. Adobe offers a version of the Flex 3 SDK
that is entirely open-source, which is the version used by the IFE system. The
license of the SDK allows it to be distributed along with the IFE software,
eliminating the need for users to download the SDK separately.
The open source version of the Flex 3 SDK is licensed under the “Mozilla Public
License” (http://www.mozilla.org/MPL). The IFE system uses Flex 3 SDK
version 3.0.0.447.
3.1.4.4 D.eval API
The D.eval API (http://www.riaone.com/products/deval/index.html) is a Flash
library that allows Actionscript code to be interpreted and executed at runtime. In
the Actionscript 2 language, this functionality was provided by a standard library
function called eval(). However, this function was removed in Actionscript 3,
the version of Actionscript used by the IFE system. Thus, the D.eval API was
incorporated to fill this need.
14
Although the D.eval API is freeware, it is not open source. However, the terms of
its license permit static linking of the library into a Flash executable, as takes
place in the IFE software. The IFE system uses D.eval version 1.1.
3.2 IFE System Overview
The IFE system consists of three primary components: the editor application
itself, implemented in C++; the Flash component manager, implemented in Flash; and the
Flash runtime library, which supports learning objects in runtime usage. The architecture
of the IFE system is illustrated in Figure 1. Detailed descriptions of individual
components can be found in the following chapters.
Figure 1 Overview of the IFE system.
3.3 C++ Components
Most major editor features are implemented in C++, with some subsystems
implemented in Flash. This chapter details the design of the C++ portion of the IFE
system and the major functions it carries out.
3.3.1 Graphical User Interface Design
The main graphical user interface (GUI) was designed to look familiar to users
who are experienced with other common desktop applications, as shown in Figure 2. A
main menu bar across the top provides drop-down menus from which various application
features can be accessed. The main viewing area is organized using a “pane” structure:
the learning object design is displayed in the center, and supplementary information is
displayed in panes surrounding the central area. This GUI format allows most user
interactions to be completed without the need for pop-up dialogs, which distract the
user‟s attention from the main work area.
15
Figure 2 The IFE graphical user interface.
3.3.2 Document/View Architecture
The iLOG Flash Editor uses the wxWidgets library‟s document/view architecture
to improve the modularity of the application. The document/view paradigm separates the
data on which the program operates (the “document”) from the presentation of the data to
the user (the “view”). Although there is presently only one document and one view, the
separation of concerns afforded by this architecture will make it easier to add
functionality in the future. For example, it might be useful to add a “preview” mode, in
which the user can see how the project will look to a student who is interacting with it.
The preview mode could be implemented as an additional “view” into the same data,
facilitating easy transitioning between “edit” and “preview” mode.
3.3.3 Flash ↔ C++ Interface
Because the implementation of the embedded Flash Player will vary in versions of
the IFE software written for different platforms, the interface between the C++ portion of
the application and the Flash portion was abstracted into an opaque interface object. The
interface object provides a stable set of functions through which the C++ application can
manipulate Flash graphical objects.
The Flash ↔ C++ interface is built around the Flash ExternalInterface API. Using
this API, the Flash application can expose internal functions to the C++ application,
which can then call them synchronously, passing arguments and receiving return values
in a simple XML format.
The Flash interface is similar in operation to many operating system interfaces.
All Flash graphical components are managed by the Flash Component Manager (Chapter
3.4.1), implemented in Flash. To create a new component, the C++ application sends a
16
request to the Flash interface object and receives a ComponentHandle object if
creation is successful. The handle object uniquely identifies the component in subsequent
interactions, such as getting and setting properties or destroying the component (Figure
3).
Figure 3 A typical series of interactions with a Flash component using the Flash ↔ C++
interface
3.3.4 Project File Format
The learning object design produced by the iLOG Flash Editor is called a project, and
is saved in IFE project files, which have the file extension “.ife”. An IFE project file is
simply a ZIP archive that contains the individual files used in the project, such as source
code and images. For a project called “my_project”, the project file would have the
following structure:
my_project.ife/ – The root ZIP archive
o ife_manifest.xml – The project manifest (Appendix A.1)
o my_project.mxml – The project source code (Appendix A.2)
o resources/ – The project resources directory (Appendix A.3)
The ZIP archive format makes it possible to package files of diverse types together into a
single project file. The wxWidgets library contains functions for manipulating ZIP
archives in a platform-neutral manner, making it easy to write the code necessary to load
and save IFE projects. Furthermore, the project file can be un-packed and its contents
examined without any special tools, making problems with the project file easy to debug.
3.3.5 QTI Implementation
The IFE system uses a partial implementation of the IMS Question and Test
Interoperability (QTI) standard [1] to represent assessment content and grading rules. The
QTI content model defines an inheritance hierarchy grouping elements with common
functionality together as well as an XML binding for describing a QTI-conformant
assessment design in XML. The IFE QTI implementation reproduces a subset of the QTI
class hierarchy using C++ class inheritance mechanisms (Appendix B).
17
In addition to describing a QTI assessment design, the IFE QTI implementation
supports two key operations on the assessment specification: serialization and
instantiation. The serialization operation begins with an assessment design represented
by a group of QTI objects and produces an XML document describing the assessment in
the format specified by the QTI XML binding. Serialization proceeds recursively from
the root node of the assessment specification to the leaf nodes. Each element serializes
itself by walking up the class inheritance hierarchy and serializing its own data members
and those of its parent classes, and then recursively serializes its children. Serialization
occurs when the project source code file is generated, either when the project is saved or
just before compilation.
The instantiation operation is the inverse of the serialization operation: beginning
with an XML assessment specification, the instantiation operation creates a set of QTI
objects that represent the specification. Like serialization, instantiation proceeds
recursively from the root node to the leaf nodes, with each node first instantiating itself
and then each of its children. Instantiation occurs when a project is loaded from an IFE
project file.
3.3.6 Interaction Wizard
Graded assessment items in the QTI standard take the form of one of several types
of interactions. The IFE system currently supports two types of interactions from the QTI
standard: the “choice” interaction, which represents the ubiquitous multiple-choice
question, and the “match” interaction, in which students must associate items from one
group with their matches in another group (Support for additional types is planned; see
Chapter 5.1.1). These interactions are created by way of an interaction wizard, which
guides the user through the creation process step by step. Using the wizard, the user
specifies the prompt for the question, the possible answers, and the correct answer. When
the wizard is completed, the graphical components necessary to represent the question are
created and the user arranges them as desired. At this time, QTI objects representing the
interaction and its grading rules are also instantiated. When the project is published, the
interaction specification will be embedded in the Flash executable (Appendix A.2).
3.3.7 MXML Source File Generation
In order to compile the IFE project into a Flash executable, an MXML source file
representing the project must be generated. The source file consists of three primary
parts: 1) the layout and properties of the individual graphical components encoded in the
Flex 3 language, 2) a script written in Actionscript that launches the IFE runtime system
at startup, and 3) an XML document containing the information necessary to initialize the
runtime system.
Source code generation begins with a “template” file, which is a compilable
MXML file containing the parts of the source code (namely, the startup scripting and a
skeleton of the physical layout) that are static across all IFE projects. The remaining
elements of the source file are inserted into a copy of this template. The majority of the
Flex 3 code describing the physical appearance and layout of the graphical components is
generated by the Flash component manager (Chapter 3.4.1). The initialization
18
information consumed by the runtime system is embedded as an XML document inside
the source file. This information is generated on the C++ side from the QTI assessment
classes and from additional properties associated with specific Flash graphical
components. The format of this data is described in Appendix A.2.
3.3.8 Flex Compiler Invocation
After the MXML source file has been generated, it must be compiled into a Flash
executable using the Adobe Flex 3 compiler (“mxmlc”). The compiler program is
invoked using the inter-process communication API of the wxWidgets library. While
compilation proceeds, the main IFE application blocks and displays a progress bar. When
the compiler process terminates, the IFE application queries the process return code to
determine if compilation was successful.
3.4 Flash Components
The main C++ application hosts two subsystems implemented in Flash: the
component manager and the slide chooser. Since these subsystems are responsible for
displaying Flash graphical components on the screen, they must be implemented in Flash
so that the components appear in the editor exactly as they will appear in the finished
learning object. Thus, the Flash subsystems provide the “what you see is what you get”
behavior of the editor.
3.4.1 Flash Component Manager
The Flash component manager is responsible for creating and managing the Flash
graphical components displayed in the editor. When the C++ application requests
creation of a Flash component, the component manager creates an instance of the
requested component type and encapsulates it within an EditableComponent object
(Appendix C), which provides an interface for manipulating the component in the context
of the editor. After creating the component, the component manager assigns a globally
unique identifier to the component and returns the identifier to the C++ application,
which wraps the identifier in an opaque handle object (Chapter 3.3.3). Internally, the
component manager maintains a mapping between component identifiers and the actual
component instance. When the C++ application requests an operation on a component
handle (such as getting or setting a property), the component manager retrieves the
component from its internal map and applies the requested operation.
The component manager also facilitates certain cosmetic tasks such as drawing
“handles” around a component when it is selected and changing the mouse cursor as
appropriate to indicate that a “move” or “resize” operation is possible. The component
manager coordinates with each EditableComponent instance to keep track of which
components are selected and what operations are possible on them (Figure 4).
19
Figure 4 Coordination between the ComponentManager and an
EditableComponent object in response to a mouse click event.
3.4.2 Flash Slide Chooser
An IFE project is organized as a series of “slides” that are displayed to the user
one at a time. Naturally, there must be a way to navigate between different slides within
the project. This functionality is provided by the slide chooser control, which is
implemented in Flash. To make it easier for the user to identify the slide he or she wishes
to select, the slide chooser displays the slides as a list of thumbnail images showing the
current contents of each slide. In order to obtain these images, the component manager
periodically renders each slide to a bitmap, compresses the bitmap to a thumbnail-sized
image in PNG format, and sends the compressed image to the slide chooser control. By
implementing the slide chooser in Flash, the application can exploit the Flash
LocalConnection API, which allows the image to be sent directly from the component
manager to the slide chooser without serializing it to XML, which would be costly due to
the size of the image files.
3.5 Flash Runtime Library
Once the learning object has been compiled to a Flash executable and deployed to
students, it requires runtime support that is not available from the Flash standard library.
The IFE Flash Runtime Library provides facilities for grading student interactions and
implements event handlers for runtime events to which the learning object must respond.
At learning object startup, the runtime library parses the embedded XML initialization
information (Appendix A.2) to set up the environment necessary to support the learning
object.
20
3.5.1 Grading Facilities
The most important function of the runtime library is to provide automatic
grading of student assessments. Descriptions of each assessment item in the learning
object are encoded in the QTI XML format [1] and embedded in the project‟s MXML
source code by the editor application before the project is compiled. The runtime library
includes an implementation of a subset of the QTI grading functionality (Appendix D)
which is initialized from the embedded XML data when the Flash executable is started.
Additional features of the runtime library (Chapters 3.5.2 and 3.5.3) allow the student‟s
response to be extracted from the state of the graphical components of the learning object
and checked for correctness using the QTI grading rules.
3.5.2 Built-in Runtime Objects and Functions
The runtime library supports a basic framework of objects and functions that
support runtime functionality and which can be referenced from within functions in an
object‟s dynamic interface (Chapter 3.4.3). These include functions for navigating
between slides in the learning object, for retrieving graphical components by their IDs,
for subscribing to and dispatching events, and other functionality. Complete
documentation of these objects and functions can be found in Appendix D.
3.5.3 Dynamic Interface System
While the QTI specification describes an extensive set of grading rules that can
describe almost any assessment grading scheme, there must be a way to extract a
representation of the student‟s response that is compatible with these grading rules from
the states of the graphical components in the learning object. For example, a multiple-
choice interaction might be represented graphically as a series of radio buttons, and the
application must be able to determine which answer was chosen by the student based on
which radio button is selected. This capability is provided by the runtime library‟s
dynamic interface system. The dynamic interface system allows the functionality of
certain classes in the runtime system to be extended by executing arbitrary Actionscript
code at runtime. When the learning object is started, the runtime library uses the
Actionscript dynamic class system to create a dynamic interface object for each QTI
assessment item. The dynamic interface object contains a named method corresponding
to each of the functions defined in the assessment item‟s dynamic interface. Each such
method has an associated script. When a function is called on the dynamic interface
object, the associated script is executed using the “D.eval” API
(http://www.riaone.com/products/deval/index.html).
To support grading of assessment items, the editor uses the dynamic interface
system to associate a query function named GetResponse with every QTI assessment
item. The specification of the GetResponse function contains a script that queries the
state of the Flash graphical components that represent the assessment item and produces a
description of the student‟s response in a format that the QTI grading rules can
understand. When an assessment item is ready to be graded, the GetResponse method
21
is called on the assessment item‟s dynamic interface object, and the result is fed into the
grading rules specified in the QTI assessment specification.
The flexibility of the dynamic interface system will allow future versions of the
IFE system to extend assessment items with additional functionality. For example, it
would be possible to define a new class of dynamic functions which serve as event
handlers. An event handler could trigger a change in the learning object user interface
whenever the student submits a response, or could detect an incorrect answer and redirect
the student to an additional example of the topic instead of allowing him or her to
proceed normally.
4. Experiences with Deployment of Alpha Version
An early version (v0.4) of the iLOG Flash Editor was deployed to students in an
intermediate computer science course (CSE 235 – Introduction to Discrete Mathematics)
in spring 2009 to assess the usability of the software. As part of a course assignment, the
students were required to use the IFE software to create learning objects covering topics
from discrete mathematics which they were currently studying. In addition, the students
were asked to complete a survey regarding their experiences with the software. The text
of the survey can be found in Appendix F.
4.1 Problems with Initial Deployment Version
Soon after deployment of the IFE software, many students reported problems with
the software crashing when they attempted to compile their projects. By examining the
project files of a few students who experienced the problem, it was determined that a
signed integer overflow in the component color editing system was the culprit. The Flash
ExternalInterface API, which is used to set and retrieve the properties of the Flash
graphical components, does not distinguish between signed and unsigned integers. Thus,
all integer property values were initially represented with signed integers on the C++ side
of the application.
Unfortunately, Flash uses 32-bit colors, with one byte each for the alpha channel,
red, green, and blue components, with alpha being in the high-order byte. Thus, colors
with an alpha value greater than 127 wrapped around to negative values when stored in a
signed integer. Although setting the color of a component to a negative value
programmatically in Actionscript produced correct results, specifying a negative value
for a color property in the MXML source file caused a compilation error when the project
was published. As a result, when students attempted to compile projects in which the
color property of one or more components had been changed to a color with an alpha
value of 128 or greater, the compiler terminated with an error code and an exception was
raised. Compounding the problem, due to a typographical error, the exception handler did
not catch and log this exception, producing an “unknown exception” condition which
crashed the program.
The problem was easily corrected and a patch designated version 0.4.1 was
released which repaired the executables already deployed to the students. Unfortunately,
any project files created before the patch was applied still exhibited the problem if the
troublesome colors had been used. So, another software application was created that
22
could repair the damaged project files. Unfortunately, by the time this work was
completed, the assignment deadline was approaching, and many students, in order to
complete their assignments, seemingly chose to create simpler projects which did not
exercise many of the features of the editor.
4.2 User Survey Results
A total of 13 students completed the surveys, either in paper form or online
through the university‟s computer system. However, due to an error in setting up the
online surveys, only the completion status of the online surveys was recorded while the
actual results were not. Thus, the results in the following table (Table 1) are based on
only the seven paper surveys that were received:
Table 1 Summary of survey results. Ratings were on a scale from 1 to 5, with higher
numbers indicating more-favorable opinions (responses of “N/A” excluded).
Question Average Std. Dev. N
Interface:
Easily accessible 3.86 0.90 7
Friendliness 2.86 0.90 7
Logical design 3.14 1.07 7
Level of content 2.14 0.90 7
Layout 3.43 0.79 7
Audience appeal 3.33 0.52 6
Other 3.00 0.00 5
Interface Average 3.11
Functionality:
Easy [sic] of use 2.86 0.90 7
Usefulness 2.71 1.25 7
Effectiveness 2.57 0.98 7
Speed 3.14 1.35 7
Correctness 2.71 1.11 7
Completeness 2.14 1.07 7
Suitability 3.00 0.00 7
Technical elements 2.86 0.38 7
Other 2.80 0.45 5
Functionality Average 2.76
Help Menu:
Answers your questions 1.80 0.84 5
Provides information you need 1.80 0.84 5
Instructive and helpful 1.80 0.84 5
Easy to follow 3.20 1.48 5
Other 2.00 1.15 4
Help Menu Average 2.12
Overall:
All categories: 2.76 1.01
23
Although these results are based on a small number of surveys, it is clear that
there is considerable room for improvement. While the software problems experienced
during the deployment no doubt had some negative effect on the survey results, the
written comments make it clear that some functionality is missing. The especially low
scores in the “help menu” section can be at least partially attributed to the fact that most
program documentation was provided online, and the actual “Help” menu selection in the
program merely provided an “About…” box displaying version and licensing
information. Specific features requested were:
Add a vector graphics palette as used in many similar programs.
Add in-program help files (in addition to existing online manual).
Allow dragging graphical components beyond the bounds of the workspace.
Add keyboard shortcuts (e.g. Ctrl+S to save, etc.)
5. Future Work
This chapter describes directions for future work, including enhancements to the
IFE software itself and possible research into integrating graphical interface designs with
standardized content specification schema.
5.1 Design Enhancements and Additional Features
There are many features that could be added or improved to enhance the usability
of the software. At present, the development has reached at point where most
“fundamental” functionality (i.e. saving and loading, undo/redo, project compilation,
basic component editing) is present in a usable, if rough, state. It is now possible to begin
adding the rich features that will make the IFE system attractive to real-world users. This
chapter describes a series of specific, near-term functionality goals.
5.1.1 Support for Additional Interaction Types
The QTI specification defines 17 different types of student interactions [1], while
the IFE system currently supports only two types (“choice” and “match”). An immediate
design priority will be to add support for as many additional interaction types as possible.
Moreover, it is possible to represent the same type of interaction in multiple ways. For
example, a multiple choice question (modeled by the “choice” interaction) could be
represented as a list of radio buttons representing one answer apiece or as a drop-down
list from which the answer is selected. The modular design of the IFE system has always
been intended to support the presentation of the same content in multiple formats.
Another immediate design goal will be to implement new presentation formats for
existing interactions.
24
5.1.2 Integration with iLOG Usage Data Tracking Framework
The iLOG Project (http://cse.unl.edu/agents), of which the iLOG Flash Editor is a
part, has led to the development of a framework for tracking student usage patterns for
Flash-based interactive learning objects [2]. Data recorded by the iLOG tracking system
can be used to improve the design of learning objects and to gain insight into the way that
students learn from electronic materials. Integrating learning objects created with IFE
with the iLOG tracking system is a simple matter of inserting tracking function calls into
the learning object and placing the learning object within the proven iLOG HTML
“wrapper” when the learning object is deployed. Implementing this functionality is
another readily achievable near-term goal.
5.1.3 Support for Additional Event Handlers
At present, learning objects created with the IFE system respond to only two basic
events: navigation between neighboring slides, and submission of an answer to an
assessment item. A richer event handling framework is vital to the goal of creating highly
interactive electronic learning content. Designers must be able to create learning objects
that respond to basic user interface events such as mouse clicks and keystrokes, but also
to higher-level events such as assessment item completion with a score below or above a
certain threshold, or an attempt to leave a slide without having spent enough time on it to
have understood the content. The range of possible responses to an event could range
from switching to a different slide, to changing the text in a text box, to playing a sound
clip or starting an animation (Chapter 5.1.4). At the same time, the event system must
strike a delicate balance between complexity and versatility. Users who are not computer
experts must be able to create the functionality they desire without being overwhelmed
by overly-complicated options. There must also be intuitive, graphical debugging tools to
help minimize the frustration of finding problems in the event design.
5.1.4 Animations
Truly immersive, fully interactive learning environments require that the learning
object respond to student actions in ways more complex than a simple pop-up box or
sound clip. Namely, the learning object must be animated. Producing high-quality
animations is a complex task even for experienced users, and creating a software system
that supports the creation of animations is even more so. Due to the complexity of this
feature, it is of low priority for the time being.
5.2 Research
5.2.1 Framework for Mapping Assessment Presentation to Assessment Grading
Rules
One of the key obstacles in the design of the IFE system was the development of a
means to map the state of an arbitrary group of graphical components to a description of a
student response that could be parsed and used in grading rules. Although the solution
25
adopted (Chapter 3.5.3) is flexible, it is perhaps too flexible: by using dynamically
compiled code to perform the mapping, the IFE approach is intimately linked to the
implementation language of the learning object (i.e. Flash). A standardized framework
for the specification of relationships between graphical components and the semantics of
their states with respect to assessment responses could make it easier for learning objects
implemented in different languages to use the same assessment specification framework
to describe their content and grading rules. By increasing the adoption of a single
standard for assessment description, more assessment content would be available for
reuse by other learning objects. At the same time, providing a clear abstraction layer
between assessment content and grading and assessment presentation would enable novel
presentation formats to use existing content, thus facilitating innovation in presentation
design.
Because of the similarity of graphical user interface components across a wide
range of languages, certain relationships between graphical components recur in many
interface designs. For example, the “selected” relation could apply to anything that
behaves like a button, such as actual buttons, clickable regions of the screen, and objects
that can be highlighted as a group. A “membership” relation could apply to components
nested inside containers, as occurs in drag-and-drop interactions, but also to the same
“group selection” interaction already described. If a flexible and relatively complete
collection of relations could be described, it could be used as a basis for the mapping
between assessment presentation and grading semantics.
6. Conclusion
This thesis described the iLOG Flash Editor project, including the motivation for
its creation, details of its design and implementation, results of a usage evaluation of an
early software version, and directions of future work. In order to increase adoption of
interactive learning objects as an instructional aid, a software system was designed and
implemented that allows learning objects to be created by users without programming
knowledge using an intuitive graphical interface. The IFE system provides the capability
to create learning objects featuring graded user interactions and incorporating external
multimedia elements, and to deploy those learning objects online in the form of a Flash
application. Evaluation of the software in usage by computer science students showed
that, despite problems with the early version and a limited feature set, the IFE system
allows users to create useful learning objects that would otherwise have required
substantial programming. Future versions of the IFE system will enhance its functionality
by supporting additional types of graded assessments, providing usage data tracking
capabilities, and adding support for advanced interactive features and animations.
26
Acknowledgements
This work was supported by the National Science Foundation under Grant No.
0634642 and by a UCARE grant from the University of Nebraska-Lincoln.
The author would like to thank Dr. Leen-Kiat Soh and Dr. Ashok Samal for their
support during work on this project and their comments on this thesis, and the Spring
2009 CSE 235 class at UNL for testing the IFE software and providing their comments.
27
References
[1] IMS Global Learning Consortium (2005, Jan). IMS Question and Test
Interoperability Specification v2.0. [Online]. Available:
http://www.imsglobal.org/question
[2] S. Riley, L. Miller, L-K. Soh, A. Samal, and G. Nugent. "Intelligent Learning Object
Guide (iLOG): A Framework for Automatic Empirically-Based Metadata
Generation." 14th International Conference of Artificial Intelligence in
Education, 2009.
[3] Advanced Distributed Learning Initiative (2009, Mar). Sharable Content Object
Reference Model 2004 4th
Edition. [Online]. Available:
http://www.adlnet.org/Technologies/scorm/default.aspx
[4] L. McLean and R. Tessman. “Increasing the Educational Impact of Digital libraries
through Learning Activity Templates,” Museums and the Web 2006: Proceedings,
March 2006. [Online]. Available:
http://www.archimuse.com/mw2006/papers/mclean/mclean.html. [Accessed April
21, 2009].
[5] R. Kay and L. Knaack. “Evaluating the Use of Learning Objects for Secondary
School Science,” Journal of Computers in Mathematics and Science Teaching,
vol. 26, no. 4, pp. 261-289, 2007.
[6] R. H. Kay and L. Knaack. “An Examination of the Impact of Learning Objects in
Secondary School,” Journal of Computer Assisted Learning, vol. 24, pp. 447-461,
Feb 2008.
[7] C. P. Lim, S. L. Lee, and C. Richards. “Developing Interactive Learning Objects for a
Computing Mathematics Module,” International Journal on E-Learning, vol. 5,
no. 2, pp. 221-244, 2006.
[8] C. Bradley and T. Boyle, “The Design, Development, and Use of Multimedia
Learning Objects,” Journal of Educational Multimedia and Hypermedia, vol. 13,
no. 4, pp. 371-389, 2004.
[9] F. Concannon, A. Flynn, and M. Campbell, “What Campus-Based Students Think
About the Quality and Benefits of E-Learning,” British Journal of Educational
Technology, vol. 36, no. 3, pp. 501-512, 2005.
[10] L. P. Rieber, S-C. Tzeng, and K. Tribble, “Discovery Learning, Representation, and
Explanation Within a Computer-Based Simulation: Finding the Right Mix,”
Journal of Learning and Instruction, vol. 14, pp. 307-323, 2004.
29
Appendix A – IFE Project File Documentation
A.1 IFE Project Manifest Format
Tag: <ife-project>
The ife-project tag is the root tag of the IFE project manifest
Children:
project-name [1]
source-file [1]
themes [1]
library-path [1]
include-libraries [1]
source-path [1]
swf-metadata [1]
Tag: <project-name>
The project-name tag contains the name of the IFE project as it is displayed in the
application title bar
Tag: <source-file>
The source-file tag contains the name of the MXML source file for the project
Tag: <themes>
The themes tag contains descriptions of all the CSS themes used by the project
Children:
<theme> [0..*]
Tag: <theme>
The theme tag contains the path to one CSS theme used by the project
Attribute: name [1] : string
The name of the theme as it appears to the user
Tag: <library-path>
The library-path tag contains the paths to additional Flash libraries linked by the project
Children:
<path-element> [0..*]
Tag: <path-element>
The path-element tag contains the path to a single resource referenced by the project
Tag: <include-libraries>
The include-libraries tag contains the paths to additional Flash libraries that should be
completely included in the Flash executable
Children:
<lib> [0..*]
30
Tag: <lib>
The lib tag contains the path to a single Flash library that should be completely included
in the Flash executable
Tag: <source-path>
The source-path tag contains paths to additional Flash source code referenced by the
project.
Children:
<path-element> [0..*]
Tag: <swf-metadata>
The swf-metadata tag is the root tag of the section of the manifest file describing the
metadata to be supplied to the Flex compiler. The metadata will be compiled into the
resulting Flash executable and can be retrieved at runtime by the Flash player.
Children:
contributors [1]
creators [1]
date [1]
description [1]
publishers [1]
title [1]
languages [1]
localized-descriptions [1]
localized-titles [1]
Tag: <contributors>
The contributors tag contains the names of people or organizations who contributed to
the development of the learning object.
Children:
<contributor> [0..*]
Tag: <contributor>
The contributor tag contains the name of a single contributor
Tag: <creators>
The creators tag contains the names of people or organizations who directly helped to
create the learning object.
Children:
<creator> [0..*]
Tag: <creator>
The creator tag contains the name of a single creator
Tag: <date>
31
The date element contains the date on which the learning object was compiled in the
format “YYYY-MM-DD”
Tag: <description>
The description tag contains a text description of the learning object.
Tag: <publishers>
The publishers tag contains the names of people or organizations who served as
publishers for the learning object.
Children:
<publisher> [0..*]
Tag: <publisher>
The publisher tag contains the name of a single publisher
Tag: <title>
The title tag contains the title of the learning object as it should appear to the end-user.
A.2 XML Runtime System Initialization Format
Tag: <ilog_app_initializer_xml>
The ilog_app_initializer_xml tag is the root tag of the application initialization data
section. The runtime system parses the data contained in this section to initialize the
learning object
Children:
<qti> [1]
<component> [0..*]
<qti_body_element> [0..*]
Tag: <qti>
The qti tag is the root tag of the QTI assessment specification format data. IFE uses a
subset of the QTI content model to specify the grading rules for graded assessment
content. The full QTI specification can be found at http://www.imsglobal.org
Tag: <component>
The component tag describes special information and properties that are associated with a
Flash graphical component.
Attribute: id [1] : string
The id attribute contains the globally unique identifier assigned to the component
Children:
<dragable> [0..1]
<drop_target> [0..1]
<event> [0..*]
<qti_element> [0..1]
32
Tag: <dragable>
The dragable tag indicates that the component described by the containing <component>
tag is a dragable component.
Attribute: data [1] : string
The data that is transferred to a drop target when the dragable component is dropped into
it. This attribute allows non-text components (i.e. images) to be given a textual
description for use in grading rules.
Attribute: match_group [0..*] : string
The name of the match group to which this dragable component belongs. Dragable
components in a given match group may only be dropped on drop targets from the same
match group. If no match groups are specified, the component is assumed to belong to all
match groups that currently exist.
Tag: <drop_target>
The drop_target tag indicates that the component described by the containing
<component> tag accepts drag-and-drop actions involving dragable components.
Attribute: match_group [0..*] : string
The name of the match group to which this drop target belongs. Drop targets in a given
match group may only accept dragable components from the same match group. If no
match groups are specified, the component is assumed to belong to all match groups that
currently exist.
Tag: <event>
The event tag describes an event to which the component described by the containing
<component> tag responds.
Attribute: type [1] : string
A string describing the type of the event. This can be either a built-in Flash event (such as
“click” or “mousemove”) or a custom event. Custom events defined by the iLOG Flash
Runtime Library can be recognized by an “ilog_” prefix.
Attribute: action [1..*] : string
The name of a function in the “edu.unl.ilog.runtime” package to execute when an event
of the associated type occurs.
Children:
<argument> [0..*]
Tag: <argument>
The argument tag specifies the value of an argument passed to the associated function.
Arguments are always passed to the function in the order in which the <argument> tags
occur.
Attribute: value [1] : string
The value of the argument. Strings that contain only numeric characters (possibly
prefixed with a „-„ character) are interpreted as signed integers. Strings containing
numeric characters (possible prefixed with a „-„ character) and exactly one period („.‟)
character are interpreted as floating-point numbers. All other strings are interpreted as
strings.
33
Tag: <qti_element>
The qti_element tag indicates that the component described by the containing
<component> tag is associated with a QTI element.
Attribute: id [1] : string
The globally unique identifier of the QTI element with which the component is
associated
Tag: <qti_body_element>
The qti_body_element tag describes special information and properties that are associated
with a QTI node that is of a type that is a subclass of the QTI body element type.
Attribute: qtiid [1] : string
The globally unique identifier of the QTI element associated with this tag.
Children:
<dynamic_interface> [0..1]
Tag: <dynamic_interface>
The dynamic_interface tag describes the runtime-generated interface associated with a
QTI element. Since QTI elements are describe only the content of a graded assessment
and not its presentation to the user, there must be a mapping between the state of the
graphical components that represent the assessment and the description of the assessment
in QTI format. The dynamic interface provides this mapping by allowing an Actionscript
function interface to be specified for the QTI element at runtime.
Children:
<query> [0..*]
Tag: <query>
The query tag contains the Actionscript code for an accessor method on a QTI element.
When the corresponding function is called on the QTI element‟s dynamic interface at
runtime, the code contained in the <query> tag is executed and the result is returned to
the caller.
Attribute: name [1] : string
The name of the method that will be added to the QTI element‟s dynamic interface. For
example, if the name attribute is “GetResponse”, the query will be executed at runtime by
calling “dynamic_interface_object.GetResponse();”
Attribute: returnType [1] : string
The name of the type that is returned by the query. Possible values are {“Array”,
“Object”, “int”, “Number”, “String”}
A.3 Resource Directory Structure
The IFE Project file contains a directory hierarchy that contains embedded resources used
by the project, such as images, sounds, and videos. The directory structure is as follows:
resources/ -- The root directory
o ilog/ -- Built-in resources (currently empty)
o user/ -- Resources imported by the user
35
Appendix B – C++ Documentation
Class Index
Class List
Here are the classes, structs, unions and interfaces with brief descriptions: ilog::As::AnyType (Container class for ActionScript types ) .......................................................... 38
ilog::As::ArgumentError .................................................................................................................. 41
ilog::As::Array (Class representing an Actionscript Array that can be used in STL containers ) 41
ilog::qti::AssessmentItem .................................................................................................................. 44
ilog::AssessmentManager (A class for managing QTI AssessmentItem instances ) ...................... 46
ilog::qti::AssociableChoice ................................................................................................................ 48
ilog::qti::BaseValue ............................................................................................................................ 50
ilog::qti::Block .................................................................................................................................... 51
ilog::qti::BlockInteraction ................................................................................................................. 53
ilog::qti::BodyElement (The base class of QTI 'bodyElement' objects ) ........................................ 54
ilog::qti::BodyElementManager (A central class for registering QTI body elements (i.e ) .......... 58
ilog::BorderInfo (Data object aggregating all border property information ) .............................. 59
ilog::BorderProperty (A wxPGProperty subclass used to display the "border" settings of a Flash
component ) .......................................................................................................................................... 60
ilog::qti::Choice .................................................................................................................................. 61
ilog::qti::ChoiceInteraction ............................................................................................................... 63
ilog::ChoiceInteractionWizard (The wizard for creating ChoiceInteraction instances ) ............. 66
ilog::ChoiceInteractionWizardPage_Cardinality (The 'cardinality' page of the wizard ) ............ 67
ilog::ChoiceInteractionWizardPage_Responses (The 'responses' page of the wizard ) ................ 68
ilog::ClipboardCloser (Guard object to ensure wxClipboard is properly release ) ...................... 70
ilog::ColoredFont (Aggregates a wxFont and a wxColour object ) ................................................ 70
ilog::As::ComponentDataObject (A wxDataObject subclass which represents Actionscript
graphical components when they are stored in the clipboard ) ....................................................... 71
ilog::As::ComponentExtraProperties (A class for storing and manipulating the properties of a
component that are managed on the C++ side of the application rather than the Flash side ) .... 72
ilog::As::ComponentHandle (A handle class which provides a link to an Actionscript graphical
component managed by the Flash portion of the editor ) ................................................................ 75
ilog::As::ComponentInfo (A data structure describing the properties of an Actionscript
graphical component ) ......................................................................................................................... 77
ilog::ComponentPalette (A control for creating Flash graphical components ) ............................ 78
ilog::ComponentsPanel (A panel that displays a tree view of the components in the project ) .... 79
ilog::qti::Correct ................................................................................................................................ 80
ilog::qti::CorrectResponse ................................................................................................................ 82
ilog::CreateComponentCommand (A command that creates an Actionscript component ) ........ 84
ilog::File::DirectoryEnumerator (WxDirTraverser subclass that only enumerates directories ) 85
ilog::DragablePropertiesPanel .......................................................................................................... 86
ilog::DropTargetPropertiesPanel ..................................................................................................... 87
ilog::EditorDocument (WxDocument subclass for the main IFE 'document' ) ............................. 88
ilog::EditorPanel (The central panel containing the Flash slide editor ) ........................................ 89
ilog::EditorView (WxView subclass for the main 'editor' view ) .................................................... 92
ilog::qti::Element (The root of the QTI XML element hierarchy ) ................................................ 92
36
ilog::As::Error .................................................................................................................................... 96
ilog::As::EventAction ......................................................................................................................... 97
ilog::ExecuteOnExit (Executes a given parameterless function on block exit ) ............................. 98
ilog::qti::ExitResponse ....................................................................................................................... 99
ilog::qti::Expression ........................................................................................................................... 99
FileDeleter (Deletes a file on scope exit ) ......................................................................................... 100
ilog::FileFormatException (Exception representing a mal-formatted input file ) ....................... 101
ilog::FileIoException (Exception representing attempted access to a non-existant or otherwise
unusable file ) ..................................................................................................................................... 101
ilog::FlashCommunicationException (Exception class thrown by Flash <-> C++ communication
operations ) ......................................................................................................................................... 102
ilog::As::FlashInterface (Container class representing the Actionscript functions exposed in the
editor's Flash code ) ........................................................................................................................... 102
ilog::FlashPlayerCtrl (Base class for objects which wrap a Flash player ) .................................. 104
ilog::qti::Flow ................................................................................................................................... 108
ilog::qti::FlowStatic .......................................................................................................................... 109
ilog::FontProperty ............................................................................................................................ 111
ilog::FunctionCall (Represents a function call passed from Flash to C++ ) ................................. 112
ilog::GeneralPropertiesPanel .......................................................................................................... 112
ilog::IdGenerator (An object that generates unique numeric identifiers ) ................................... 113
ilog::IFlashPlayer (The interface for an Adobe Flash player ) ...................................................... 115
ilog::qti::IInstantiable (The interface of a class that can be instantiated with Flash components ) 122
ilog::As::IllegalOperationError ...................................................................................................... 123
ilog::qti::Include ............................................................................................................................... 124
ilog::qti::Inline .................................................................................................................................. 124
ilog::qti::InlineStatic ........................................................................................................................ 125
ilog::qti::Interaction (Base class of QTI 'interaction' types ) ........................................................ 127
ilog::Interaction (A class encapsulating a QTI Interaction and the Flash graphical components
used to instantiate it ) ........................................................................................................................ 129
ilog::InteractionCreationDialog (A dialog class that lets the user choose which interaction wizard
to launch ) ........................................................................................................................................... 130
ilog::InteractionCreationValidator (WxValidator subclass for InteractionCreationValidator ) 131
ilog::As::IOError ............................................................................................................................. 132
ilog::IPropertiesDisplayer (The interface of a control that displays the properties of a Flash
component ) ........................................................................................................................................ 132
ilog::qti::ISerializable (The interface of a component that can be serialized to and restored form
XML ) ................................................................................................................................................. 133
ilog::qti::IsNull ................................................................................................................................. 136
ilog::qti::ItemBody ........................................................................................................................... 138
ilog::LengthRestrictedTextValidator (A wxTextValidator subclass that restricts the text entered
in a text control to a fixed length ) ................................................................................................... 139
ilog::qti::LookupOutcomeValue ..................................................................................................... 140
ilog::qti::Mapping ............................................................................................................................ 140
ilog::qti::MapResponse .................................................................................................................... 143
ilog::qti::Match ................................................................................................................................. 145
ilog::qti::MatchInteraction .............................................................................................................. 146
ilog::MatchInteractionWizard (A wxWizard used to create a Match interaction ) .................... 149
ilog::MatchInteractionWizardPage_Answer (The 'answers' page of the wizard ) ...................... 150
ilog::MatchInteractionWizardPage_Parameters (The 'parameters' page of the wizard ) ......... 151
ilog::MatchInteractionWizardPage_Responses (The 'responses' page of the wizard ) ............... 152
ilog::As::MemoryError ................................................................................................................... 153
37
ilog::Msw_FlashPlayerCtrl (An implementation of FlashPlayerCtrl on the Microsoft Windows
platform ) ........................................................................................................................................... 153
ilog::MxmlParser (Parser for creating Flash component hierarchy from MXML source ) ....... 159
ilog::MxmlParsingException (Exception indicating an error while parsing an MXML source file
) ........................................................................................................................................................... 160
ilog::MyApp (WxApp subclass for the IFE application ) .............................................................. 160
ilog::NullDeleter (A functor that does nothing ) ............................................................................. 161
ilog::As::Object (Class representing an Actionscript Object that can be used in STL containers ) 161
ilog::qti::ObjectFlow ........................................................................................................................ 165
ilog::OptionListBuilder (A graphical control that lets the user enter lines of text and add them to
a list ) .................................................................................................................................................. 167
ilog::OrganizerNotebook (A wxNotebook containing controls for manipulating the organization
of the project ) .................................................................................................................................... 167
ilog::qti::OutcomeRule .................................................................................................................... 168
ilog::Project (Describes the data contained in the IFE project manifest ) ................................... 169
ilog::ProjectManager (A singleton class that manages the global state of the current project ) 170
ilog::qti::Prompt ............................................................................................................................... 172
ilog::PropertiesDisplayPanel (An abstract wxPanel subclass that implements the
IPropertiesDisplayer interface ) ....................................................................................................... 174
ilog::PropertiesPanel ........................................................................................................................ 174
ilog::As::PropertyCache (A cache for the properties of Flash components featuring constant-
time lookup ) ...................................................................................................................................... 175
ilog::PropertyEditor (A control for editing the properties of a Flash graphical component ) ... 177
ilog::PublishDialog (A dialog box that allows users to enter Flash publish metadata ) .............. 178
ilog::As::RangeError ....................................................................................................................... 178
ilog::As::ReferenceError ................................................................................................................. 179
ilog::RemoveComponentCommand (A command that removes an Actionscript component from
the screen ) ......................................................................................................................................... 179
ilog::qti::ResponseCondition ........................................................................................................... 180
ilog::qti::ResponseDeclaration ........................................................................................................ 182
ilog::qti::ResponseElse ..................................................................................................................... 184
ilog::qti::ResponseElseIf .................................................................................................................. 186
ilog::qti::ResponseIf ......................................................................................................................... 188
ilog::qti::ResponseProcessing .......................................................................................................... 189
ilog::qti::ResponseProcessingFragment ......................................................................................... 191
ilog::qti::ResponseRule .................................................................................................................... 192
ilog::SetComponentPropertyCommand (A command that sets one or more properties of an
Actionscript component ) .................................................................................................................. 193
ilog::qti::SetOutcomeValue ............................................................................................................. 193
ilog::SharedPointerComparator< T > (Generic comparator for using shared_ptr objects as keys
in ordered associative containers ) ................................................................................................... 195
ilog::qti::SimpleAssociableChoice .................................................................................................. 196
ilog::qti::SimpleChoice .................................................................................................................... 199
ilog::qti::SimpleInline ...................................................................................................................... 200
ilog::qti::SimpleMatchSet ................................................................................................................ 202
ilog::SlideChooser (A panel that hosts the Flash-based slide chooser ) ........................................ 204
ilog::qti::Span ................................................................................................................................... 205
ilog::As::StackOverflowError ......................................................................................................... 208
ilog::As::SyntaxError ...................................................................................................................... 208
ilog::qti::TextRun ............................................................................................................................. 208
ilog::TopFrame (The main wxFrame subclass for the application ) ............................................. 210
38
ilog::TransformComponentCommand (Represents a transform operation (i.e ) ........................ 212
ilog::As::TypeError ......................................................................................................................... 213
ilog::As::URIError ........................................................................................................................... 213
ilog::qti::Variable ............................................................................................................................. 214
ilog::qti::VariableDeclaration ......................................................................................................... 215
ilog::WxException (Generic exception class representing an error in the wxWidgets library ) 217
ilog::wxStringComparator (Allows wxString to be used as a key in an STL map ) .................... 219
Class Documentation
ilog::As::AnyType Class Reference Container class for ActionScript types.
#include <any_type.h>
Public Member Functions
AnyType (ActionscriptTypes type=AS_VOID)
AnyType (const AnyType &that)
AnyType (const char *s)
AnyType (const wxString &s)
AnyType (bool b)
AnyType (double d)
AnyType (As::Int i)
AnyType (As::UInt u)
AnyType (const Array &v)
AnyType (const Object &obj)
AnyType (const wxVariant &variant)
~AnyType ()
AnyType & operator= (const AnyType &that)
bool IsVoid () const
bool IsNull () const
bool IsString () const
bool IsBool () const
bool IsDouble () const
bool IsInt () const __deprecated__
bool IsIntegral () const
bool IsArray () const
bool IsObject () const
wxString ToString () const
bool ToBool () const
double ToDouble () const
As::Int ToInt () const
As::UInt ToUInt () const
Array ToArray () const
Object ToObject () const
ActionscriptTypes GetType () const
39
Static Public Member Functions
static AnyType Null ()
Detailed Description
Container class for ActionScript types.
Never assign 'NULL' to an AnyType instance. Use the static function AnyType::Null() instead.
If you want to assign a null char*, you must use AnyType( (char*)0 );
Note: Due to the fact that the Flash ExternalInterface API does not distinguish between signed
and unsigned integers, both are stored in AnyType as signed integers. The 'ToUInt()' method
first casts the internal union container to an As::Int, then applies a static_cast to convert the
As::Int to an As::UInt. If integers are represented in two's-complement, this works. However, it
does NOT work with other representations. To my knowledge, all C++ implementations use
two's-complement. However, this is something to check if strange errors occur with component
creation / interaction using a particular compiler.
Constructor & Destructor Documentation
ilog::As::AnyType::AnyType (ActionscriptTypes type = AS_VOID) [explicit]
Construct an empty AnyType with type 'type'.
ilog::As::AnyType::AnyType (const AnyType & that)
Copy constructor.
ilog::As::AnyType::AnyType (const char * s)
Implicit conversion ctor from C-string.
ilog::As::AnyType::AnyType (const wxString & s)
Implicit conversion ctor from wxString.
ilog::As::AnyType::AnyType (bool b)
Implicit conversion ctor from bool.
ilog::As::AnyType::AnyType (double d)
Implicit conversion ctor from double.
ilog::As::AnyType::AnyType (As::Int i)
Implicit conversion ctor from As::Int.
ilog::As::AnyType::AnyType (As::UInt u)
Implicit conversion ctor from As::UInt.
ilog::As::AnyType::AnyType (const Array & v)
Implicit conversion ctor from Array.
ilog::As::AnyType::AnyType (const Object & obj)
Implicit conversion ctor from Object.
40
ilog::As::AnyType::AnyType (const wxVariant & variant)
Implicit conversion ctor from wxVariant.
ilog::As::AnyType::~AnyType ()
Destructor.
Member Function Documentation
ActionscriptTypes ilog::As::AnyType::GetType () const
Get type constant.
bool ilog::As::AnyType::IsArray () const
Contained type is AS_ARRAY -- ToArray() will succeed.
bool ilog::As::AnyType::IsBool () const
Contained type is AS_BOOLEAN -- ToBool() will succeed.
bool ilog::As::AnyType::IsDouble () const
Contained type is AS_NUMBER -- ToDouble() will succeed.
bool ilog::As::AnyType::IsInt () const
Contained type is AS_INTEGER -- both ToInt() and ToUInt() will succeed.
bool ilog::As::AnyType::IsIntegral () const
bool ilog::As::AnyType::IsNull () const
Contained type is AS_NULL -- ToXXX() will fail.
bool ilog::As::AnyType::IsObject () const
Contained type is AS_OBJECT -- ToObject() will succeed.
bool ilog::As::AnyType::IsString () const
Contained type is AS_STRING -- ToString() will succeed.
bool ilog::As::AnyType::IsVoid () const
Contained type is AS_VOID -- ToXXX() will fail.
static AnyType ilog::As::AnyType::Null () [inline, static]
Static initializer for 'null' AnyType instances.
AnyType& ilog::As::AnyType::operator= (const AnyType & that)
Overloaded assignment operator.
Array ilog::As::AnyType::ToArray () const
Convert to Array -- Succeeds iff IsArray() returns true.
bool ilog::As::AnyType::ToBool () const
Convert to bool -- Succeeds iff IsBool() returns true.
41
double ilog::As::AnyType::ToDouble () const
Convert to double -- Succeeds iff IsDouble() returns true.
As::Int ilog::As::AnyType::ToInt () const
Convert to As::Int -- Succeeds iff IsInt() returns true.
Be aware that this function performs a static cast to signed int.
Object ilog::As::AnyType::ToObject () const
Convert to Object -- Succeeds iff IsObject() returns true.
wxString ilog::As::AnyType::ToString () const
Convert to wxString -- Succeeds iff IsString() returns true.
As::UInt ilog::As::AnyType::ToUInt () const
Convert to As::UInt -- Succeeds iff IsInt() returns true.
Be aware that this function performs a static cast to unsigned int.
ilog::As::ArgumentError Class Reference #include <exceptions.h>
Inheritance diagram for ilog::As::ArgumentError:
Public Member Functions
ArgumentError (const wxString &what)
Constructor & Destructor Documentation
ilog::As::ArgumentError::ArgumentError (const wxString & what) [inline]
ilog::As::Array Class Reference Class representing an Actionscript Array that can be used in STL containers.
#include <array.h>
Public Types
typedef AnyTypeVector::iterator iterator
typedef AnyTypeVector::const_iterator const_iterator
42
typedef AnyTypeVector::reverse_iterator reverse_iterator
typedef AnyTypeVector::const_reverse_iterator const_reverse_iterator
Public Member Functions
Array ()
Array (const AnyTypeVector &v)
Array (shared_ptr< AnyTypeVector > v)
Array (const Array &that)
~Array ()
iterator begin ()
const_iterator begin () const
iterator end ()
const_iterator end () const
reverse_iterator rbegin ()
const_reverse_iterator rbegin () const
reverse_iterator rend ()
const_reverse_iterator rend () const
size_t size () const
bool empty () const
Array & operator= (const Array &that)
AnyType & operator[] (size_t i)
AnyType operator[] (size_t i) const
void push_back (const AnyType &x)
bool operator< (const Array &that) const
bool operator== (const Array &that) const
bool operator!= (const Array &that) const
Detailed Description
Class representing an Actionscript Array that can be used in STL containers.
Member Typedef Documentation
typedef AnyTypeVector::const_iterator ilog::As::Array::const_iterator
typedef AnyTypeVector::const_reverse_iterator ilog::As::Array::const_reverse_iterator
typedef AnyTypeVector::iterator ilog::As::Array::iterator
typedef AnyTypeVector::reverse_iterator ilog::As::Array::reverse_iterator
Constructor & Destructor Documentation
ilog::As::Array::Array () [inline]
ilog::As::Array::Array (const AnyTypeVector & v) [inline, explicit]
Copies 'v' since we're not sure if it was created on the stack or on the heap.
43
This constructor is explicit so that you don't accidentally make lots of expensive copies
through implicit conversions.
ilog::As::Array::Array (shared_ptr< AnyTypeVector > v) [inline, explicit]
ilog::As::Array::Array (const Array & that) [inline]
ilog::As::Array::~Array () [inline]
Member Function Documentation
const_iterator ilog::As::Array::begin () const [inline]
iterator ilog::As::Array::begin () [inline]
bool ilog::As::Array::empty () const [inline]
const_iterator ilog::As::Array::end () const [inline]
iterator ilog::As::Array::end () [inline]
bool ilog::As::Array::operator!= (const Array & that) const [inline]
This is identity-of-reference equivalence.
bool ilog::As::Array::operator< (const Array & that) const [inline]
This method is for the use of ordered containers ONLY.
In general, the concept of "ordering" does not make sense for an Array.
Array& ilog::As::Array::operator= (const Array & that) [inline]
bool ilog::As::Array::operator== (const Array & that) const [inline]
This is identity-of-reference equivalence.
AnyType ilog::As::Array::operator[] (size_t i) const [inline]
AnyType& ilog::As::Array::operator[] (size_t i) [inline]
void ilog::As::Array::push_back (const AnyType & x) [inline]
const_reverse_iterator ilog::As::Array::rbegin () const [inline]
reverse_iterator ilog::As::Array::rbegin () [inline]
const_reverse_iterator ilog::As::Array::rend () const [inline]
reverse_iterator ilog::As::Array::rend () [inline]
size_t ilog::As::Array::size () const [inline]
44
ilog::qti::AssessmentItem Class Reference #include <content_model.h>
Inheritance diagram for ilog::qti::AssessmentItem:
Public Types
typedef shared_ptr< AssessmentItem > Ptr
Public Member Functions
As::ComponentHandle CreateSubmitButton (shared_ptr< As::FlashInterface > flash_interface)
const
String GetName () const
String GetIdentifier () const
void SetIdentifier (const wxString &identifier)
String GetTitle () const
void SetTitle (String title)
String256 GetLabel () const
void SetLabel (String256 label)
Language GetLanguage () const
void SetLanguage (Language lang)
Boolean IsAdaptive () const
void SetAdaptive (Boolean adaptive)
Boolean IsTimeDependent () const
void SetTimeDependent (Boolean time_dependent)
String256 GetToolName () const
void SetToolName (String256 tool_name)
String256 GetToolVersion () const
void SetToolVersion (String256 tool_version)
ItemBody::Ptr GetItemBody () const
void SetItemBody (ItemBody::Ptr body)
ResponseProcessing::Ptr GetResponseProcessing () const
void SetResponseProcessing (ResponseProcessing::Ptr process)
wxXmlNode * Serialize () const
void InitializeFromXml (const wxXmlNode *)
ILOG_QTI_IMPLEMENT_CONTAINER_ELEMENT (ResponseDeclaration::Ptr,
m_ResponseDeclarations, ResponseDeclaration, ResponseDeclarations) protected
AssessmentItem (const String &title, Boolean adaptive=false, Boolean time_dependent=false)
AssessmentItem (const wxXmlNode *root_node)
Static Public Member Functions
static Ptr Create ()
45
static Ptr Create (const wxXmlNode *root_node)
static Ptr Create (const String &title, Boolean adaptive=false, Boolean time_dependent=false)
Member Typedef Documentation
typedef shared_ptr<AssessmentItem> ilog::qti::AssessmentItem::Ptr
Reimplemented from ilog::qti::Element (p.94).
Constructor & Destructor Documentation
ilog::qti::AssessmentItem::AssessmentItem (const String & title, Boolean adaptive =
false, Boolean time_dependent = false) [explicit]
ilog::qti::AssessmentItem::AssessmentItem (const wxXmlNode * root_node) [explicit]
Member Function Documentation
static Ptr ilog::qti::AssessmentItem::Create (const String & title, Boolean adaptive =
false, Boolean time_dependent = false) [static]
static Ptr ilog::qti::AssessmentItem::Create (const wxXmlNode * root_node) [static]
static Ptr ilog::qti::AssessmentItem::Create () [static]
As::ComponentHandle ilog::qti::AssessmentItem::CreateSubmitButton (shared_ptr< As::FlashInterface > flash_interface) const
String ilog::qti::AssessmentItem::GetIdentifier () const [inline]
ItemBody::Ptr ilog::qti::AssessmentItem::GetItemBody () const [inline]
String256 ilog::qti::AssessmentItem::GetLabel () const [inline]
Language ilog::qti::AssessmentItem::GetLanguage () const [inline]
String ilog::qti::AssessmentItem::GetName () const [inline, virtual]
This pure virtual method allows abstract base classes to know the name of the XML element
that represents their concrete descendants.
It should only be implemented in classes that correspond to a concrete (non-abstract) QTI
element.
Implements ilog::qti::Element (p.95).
46
ResponseProcessing::Ptr ilog::qti::AssessmentItem::GetResponseProcessing () const [inline]
String ilog::qti::AssessmentItem::GetTitle () const [inline]
String256 ilog::qti::AssessmentItem::GetToolName () const [inline]
String256 ilog::qti::AssessmentItem::GetToolVersion () const [inline]
ilog::qti::AssessmentItem::ILOG_QTI_IMPLEMENT_CONTAINER_ELEMENT (ResponseDeclaration::Ptr, m_ResponseDeclarations, ResponseDeclaration, ResponseDeclarations) [inline]
void ilog::qti::AssessmentItem::InitializeFromXml (const wxXmlNode *) [virtual]
Reimplemented from ilog::qti::ISerializable (p.135).
Boolean ilog::qti::AssessmentItem::IsAdaptive () const [inline]
Boolean ilog::qti::AssessmentItem::IsTimeDependent () const [inline]
wxXmlNode* ilog::qti::AssessmentItem::Serialize () const [virtual]
Reimplemented from ilog::qti::Element (p.96).
void ilog::qti::AssessmentItem::SetAdaptive (Boolean adaptive) [inline]
void ilog::qti::AssessmentItem::SetIdentifier (const wxString & identifier) [inline]
void ilog::qti::AssessmentItem::SetItemBody (ItemBody::Ptr body) [inline]
void ilog::qti::AssessmentItem::SetLabel (String256 label) [inline]
void ilog::qti::AssessmentItem::SetLanguage (Language lang) [inline]
void ilog::qti::AssessmentItem::SetResponseProcessing (ResponseProcessing::Ptr process) [inline]
void ilog::qti::AssessmentItem::SetTimeDependent (Boolean time_dependent) [inline]
void ilog::qti::AssessmentItem::SetTitle (String title) [inline]
void ilog::qti::AssessmentItem::SetToolName (String256 tool_name) [inline]
void ilog::qti::AssessmentItem::SetToolVersion (String256 tool_version) [inline]
ilog::AssessmentManager Class Reference A class for managing QTI AssessmentItem instances.
47
#include <assessment_manager.h>
Public Types
typedef shared_ptr< AssessmentManager > Ptr
Public Member Functions
qti::Identifier AddAssessmentItem (qti::AssessmentItem::Ptr assessment_item)
qti::AssessmentItem::Ptr GetAssessmentItem (qti::Identifier id)
std::vector< qti::AssessmentItem::Ptr > GetAllAssessmentItems ()
void RemoveAssessmentItem (qti::Identifier id)
void RemoveAllAssessmentItems ()
bool HasAssessmentItem (qti::Identifier id)
wxXmlNode * SerializeAssessmentItems () const
std::vector< wxXmlNode * > SerializeDynamicInterface () const
Detailed Description
A class for managing QTI AssessmentItem instances.
Member Typedef Documentation
typedef shared_ptr<AssessmentManager> ilog::AssessmentManager::Ptr
Member Function Documentation
qti::Identifier ilog::AssessmentManager::AddAssessmentItem (qti::AssessmentItem::Ptr
assessment_item) [inline]
Add an AssessmentItem instance to the manager.
std::vector<qti::AssessmentItem::Ptr> ilog::AssessmentManager::GetAllAssessmentItems
() [inline]
Get all AssessmentItem instances registered with the manager.
qti::AssessmentItem::Ptr ilog::AssessmentManager::GetAssessmentItem (qti::Identifier id) [inline]
Get the AssessmentItem with the given identifier.
bool ilog::AssessmentManager::HasAssessmentItem (qti::Identifier id) [inline]
Is an AssessmentItem with the given identifier registered with the manager.
void ilog::AssessmentManager::RemoveAllAssessmentItems () [inline]
Remove all AssessmentItems from the manager.
void ilog::AssessmentManager::RemoveAssessmentItem (qti::Identifier id) [inline]
Remove the AssessmentItem with the given identifier.
48
wxXmlNode* ilog::AssessmentManager::SerializeAssessmentItems () const [inline]
Calls the Serialize() methods of all AssessmentItems and aggregate them.
std::vector<wxXmlNode*> ilog::AssessmentManager::SerializeDynamicInterface () const [inline]
Serializes the dynamic interfaces of all BodyElements that are children of AssessmentItem
instances registered with the manager.
ilog::qti::AssociableChoice Class Reference #include <content_model.h>
Inheritance diagram for ilog::qti::AssociableChoice:
Public Types
typedef shared_ptr< AssociableChoice > Ptr
Public Member Functions
wxXmlNode * Serialize () const
void AppendMatchGroup (Identifier child)
Identifier GetMatchGroupAt (int index) const
int GetMatchGroupCount () const
std::vector< Identifier > GetAllMatchGroups () const
int GetMatchGroupIndex (Identifier child) const
bool HasMatchGroup (Identifier child)
void InsertMatchGroup (Identifier child, int index)
void RemoveMatchGroup (Identifier child)
void RemoveMatchGroup (int index)
void InitializeFromXml (const wxXmlNode *root_node)
49
Static Public Member Functions
static Ptr CreateFromXml (const wxXmlNode *root_node)
Protected Member Functions
AssociableChoice ()
AssociableChoice (const wxXmlNode *root_node)
Member Typedef Documentation
typedef shared_ptr<AssociableChoice> ilog::qti::AssociableChoice::Ptr
Reimplemented from ilog::qti::Choice (p.62).
Reimplemented in ilog::qti::SimpleAssociableChoice (p.197).
Constructor & Destructor Documentation
ilog::qti::AssociableChoice::AssociableChoice () [protected]
ilog::qti::AssociableChoice::AssociableChoice (const wxXmlNode * root_node) [explicit, protected]
Member Function Documentation
void ilog::qti::AssociableChoice::AppendMatchGroup (Identifier child) [inline]
static Ptr ilog::qti::AssociableChoice::CreateFromXml (const wxXmlNode * root_node) [static]
Reimplemented from ilog::qti::Choice (p.63).
std::vector<Identifier> ilog::qti::AssociableChoice::GetAllMatchGroups () const [inline]
Identifier ilog::qti::AssociableChoice::GetMatchGroupAt (int index) const [inline]
int ilog::qti::AssociableChoice::GetMatchGroupCount () const [inline]
int ilog::qti::AssociableChoice::GetMatchGroupIndex (Identifier child) const [inline]
bool ilog::qti::AssociableChoice::HasMatchGroup (Identifier child) [inline]
void ilog::qti::AssociableChoice::InitializeFromXml (const wxXmlNode * root_node) [virtual]
Reimplemented from ilog::qti::Choice (p.63).
Reimplemented in ilog::qti::SimpleAssociableChoice (p.198).
50
void ilog::qti::AssociableChoice::InsertMatchGroup (Identifier child, int index) [inline]
void ilog::qti::AssociableChoice::RemoveMatchGroup (int index) [inline]
void ilog::qti::AssociableChoice::RemoveMatchGroup (Identifier child) [inline]
wxXmlNode* ilog::qti::AssociableChoice::Serialize () const [virtual]
Reimplemented from ilog::qti::Choice (p.63).
Reimplemented in ilog::qti::SimpleAssociableChoice (p.198).
ilog::qti::BaseValue Class Reference #include <expression.h>
Inheritance diagram for ilog::qti::BaseValue:
Public Types
typedef shared_ptr< BaseValue > Ptr
Public Member Functions
wxString GetName () const
ValueType GetValue () const
void SetValue (ValueType v)
wxXmlNode * Serialize () const
void InitializeFromXml (const wxXmlNode *root_node)
Static Public Member Functions
static Ptr Create ()
static Ptr Create (const wxXmlNode *root_node)
static Ptr Create (BaseType type, ValueType value=ValueType())
51
Member Typedef Documentation
typedef shared_ptr<BaseValue> ilog::qti::BaseValue::Ptr
Reimplemented from ilog::qti::Expression (p.100).
Member Function Documentation
static Ptr ilog::qti::BaseValue::Create (BaseType type, ValueType value = ValueType()) [static]
static Ptr ilog::qti::BaseValue::Create (const wxXmlNode * root_node) [static]
static Ptr ilog::qti::BaseValue::Create () [static]
wxString ilog::qti::BaseValue::GetName () const [inline, virtual]
This pure virtual method allows abstract base classes to know the name of the XML element
that represents their concrete descendants.
It should only be implemented in classes that correspond to a concrete (non-abstract) QTI
element.
Implements ilog::qti::Element (p.95).
ValueType ilog::qti::BaseValue::GetValue () const [inline]
void ilog::qti::BaseValue::InitializeFromXml (const wxXmlNode * root_node) [virtual]
Reimplemented from ilog::qti::ISerializable (p.135).
wxXmlNode* ilog::qti::BaseValue::Serialize () const [virtual]
Reimplemented from ilog::qti::Element (p.96).
void ilog::qti::BaseValue::SetValue (ValueType v) [inline]
ilog::qti::Block Class Reference
#include <content_model.h>
Inheritance diagram for ilog::qti::Block:
52
Public Types
typedef shared_ptr< Block > Ptr
Static Public Member Functions
static Ptr CreateFromXml (const wxXmlNode *root_node)
Protected Member Functions
Block ()
Member Typedef Documentation
typedef shared_ptr<Block> ilog::qti::Block::Ptr
Reimplemented from ilog::qti::Element (p.94).
Reimplemented in ilog::qti::BlockInteraction (p.53), ilog::qti::ChoiceInteraction (p.65), and
ilog::qti::MatchInteraction (p.148).
Constructor & Destructor Documentation
ilog::qti::Block::Block () [inline, protected]
Member Function Documentation
static Ptr ilog::qti::Block::CreateFromXml (const wxXmlNode * root_node) [static]
Reimplemented in ilog::qti::BlockInteraction (p.54).
53
ilog::qti::BlockInteraction Class Reference #include <content_model.h>
Inheritance diagram for ilog::qti::BlockInteraction:
Public Types
typedef shared_ptr< BlockInteraction > Ptr
Public Member Functions
Prompt::Ptr GetPrompt () const
void SetPrompt (Prompt::Ptr prompt)
wxXmlNode * Serialize () const
void InitializeFromXml (const wxXmlNode *root_node)
Static Public Member Functions
static Ptr CreateFromXml (const wxXmlNode *root_node)
Protected Member Functions
BlockInteraction ()
BlockInteraction (Identifier response_identifier)
BlockInteraction (const wxXmlNode *root_node)
Member Typedef Documentation
typedef shared_ptr<BlockInteraction> ilog::qti::BlockInteraction::Ptr
Reimplemented from ilog::qti::Interaction (p.128).
Reimplemented in ilog::qti::ChoiceInteraction (p.65), and ilog::qti::MatchInteraction (p.148).
54
Constructor & Destructor Documentation
ilog::qti::BlockInteraction::BlockInteraction () [protected]
ilog::qti::BlockInteraction::BlockInteraction (Identifier response_identifier) [explicit, protected]
ilog::qti::BlockInteraction::BlockInteraction (const wxXmlNode * root_node) [explicit, protected]
Member Function Documentation
static Ptr ilog::qti::BlockInteraction::CreateFromXml (const wxXmlNode * root_node) [static]
Create an Interaction subclass based on the XML root node.
Reimplemented from ilog::qti::Interaction (p.128).
Prompt::Ptr ilog::qti::BlockInteraction::GetPrompt () const [inline]
void ilog::qti::BlockInteraction::InitializeFromXml (const wxXmlNode * root_node) [virtual]
Reimplemented from ilog::qti::Interaction (p.128).
Reimplemented in ilog::qti::ChoiceInteraction (p.65), and ilog::qti::MatchInteraction (p.148).
wxXmlNode* ilog::qti::BlockInteraction::Serialize () const [virtual]
Reimplemented from ilog::qti::Interaction (p.128).
Reimplemented in ilog::qti::ChoiceInteraction (p.66), and ilog::qti::MatchInteraction (p.149).
void ilog::qti::BlockInteraction::SetPrompt (Prompt::Ptr prompt) [inline]
ilog::qti::BodyElement Class Reference The base class of QTI 'bodyElement' objects.
#include <content_model.h>
Inheritance diagram for ilog::qti::BodyElement:
55
Public Types
typedef shared_ptr< BodyElement > Ptr
Public Member Functions
virtual ~BodyElement ()
bool IsInstantiable () const
Identifier GetId () const
std::vector< As::ComponentHandle > GetGraphicalComponents () const
StyleClass GetStyleClass () const
void SetStyleClass (StyleClass style)
Language GetLanguage () const
void SetLanguage (Language lang)
String256 GetLabel () const
void SetLabel (String256 label)
wxXmlNode * Serialize () const
void InitializeFromXml (const wxXmlNode *root_node)
void AddDynamicEvent (const wxString &event_name, const wxString &arg_type, const wxString
&code)
void AddDynamicQuery (const wxString &name, const wxString &return_type, const wxString
&code)
wxXmlNode * GetDynamicInterface () const
Protected Member Functions
BodyElement (String256 label=wxT(""), StyleClass cls=wxT(""), Language lang=wxT(""))
BodyElement (const wxXmlNode *root_node)
void AddGraphicalComponent (As::ComponentHandle h_comp)
void RemoveGraphicalComponent (As::ComponentHandle h_comp)
Detailed Description
The base class of QTI 'bodyElement' objects.
BodyElements have a graphical representation on the screen.
Member Typedef Documentation
typedef shared_ptr<BodyElement> ilog::qti::BodyElement::Ptr
Reimplemented from ilog::qti::IInstantiable (p.123).
56
Reimplemented in ilog::qti::Interaction (p.128), ilog::qti::Prompt (p.173), ilog::qti::SimpleInline
(p.201), ilog::qti::BlockInteraction (p.53), ilog::qti::Span (p.206), ilog::qti::Choice (p.62),
ilog::qti::SimpleChoice (p.199), ilog::qti::AssociableChoice (p.49),
ilog::qti::SimpleAssociableChoice (p.197), ilog::qti::ChoiceInteraction (p.65),
ilog::qti::MatchInteraction (p.148), and ilog::qti::ItemBody (p.138).
Constructor & Destructor Documentation
virtual ilog::qti::BodyElement::~BodyElement () [virtual]
ilog::qti::BodyElement::BodyElement (String256 label = wxT(""), StyleClass cls =
wxT(""), Language lang = wxT("")) [explicit, protected]
ilog::qti::BodyElement::BodyElement (const wxXmlNode * root_node) [explicit, protected]
Member Function Documentation
void ilog::qti::BodyElement::AddDynamicEvent (const wxString & event_name, const wxString & arg_type, const wxString & code)
Add an 'event' function to the BodyElement's dynamic interface.
Parameters:
event_name The name of the event to handle.
arg_type The type of the single event handler argument (i.e. the event).
code The code that will execute when the event handler is called.
void ilog::qti::BodyElement::AddDynamicQuery (const wxString & name, const wxString & return_type, const wxString & code)
Add a 'query' function to the BodyElement's dynamic interface.
Parameters:
name The name of the query method.
return_type The return type of the method (as a string)
code The code that will execute when the query is called. Must return a value of the type specified
in 'return_type'
void ilog::qti::BodyElement::AddGraphicalComponent (As::ComponentHandle h_comp) [inline, protected]
Add a graphical component to the representation of this BodyElement.
wxXmlNode* ilog::qti::BodyElement::GetDynamicInterface () const
Get the dynamic interface description in XML form.
std::vector<As::ComponentHandle> ilog::qti::BodyElement::GetGraphicalComponents ()
const [inline, virtual]
Get the graphical components that comprise this BodyElement.
57
Implements ilog::qti::IInstantiable (p.123).
Identifier ilog::qti::BodyElement::GetId () const [inline, virtual]
Get the 'id' property of the BodyElement.
Implements ilog::qti::IInstantiable (p.123).
String256 ilog::qti::BodyElement::GetLabel () const [inline]
Get the 'label' property.
Language ilog::qti::BodyElement::GetLanguage () const [inline]
Get the 'lang' property.
StyleClass ilog::qti::BodyElement::GetStyleClass () const [inline]
Get the 'style' property.
void ilog::qti::BodyElement::InitializeFromXml (const wxXmlNode * root_node) [virtual]
Reimplemented from ilog::qti::ISerializable (p.135).
Reimplemented in ilog::qti::Interaction (p.128), ilog::qti::Prompt (p.173), ilog::qti::SimpleInline
(p.202), ilog::qti::BlockInteraction (p.54), ilog::qti::Span (p.207), ilog::qti::Choice (p.63),
ilog::qti::SimpleChoice (p.200), ilog::qti::AssociableChoice (p.49),
ilog::qti::SimpleAssociableChoice (p.198), ilog::qti::ChoiceInteraction (p.65),
ilog::qti::MatchInteraction (p.148), and ilog::qti::ItemBody (p.139).
bool ilog::qti::BodyElement::IsInstantiable () const [inline, virtual]
Returns true -- BodyElements are instantiable.
Reimplemented from ilog::qti::Element (p.95).
Reimplemented in ilog::qti::ChoiceInteraction (p.66), and ilog::qti::MatchInteraction (p.149).
void ilog::qti::BodyElement::RemoveGraphicalComponent (As::ComponentHandle
h_comp) [inline, protected]
Remove a graphical component from the representation of this BodyElement.
wxXmlNode* ilog::qti::BodyElement::Serialize () const [virtual]
Reimplemented from ilog::qti::Element (p.96).
Reimplemented in ilog::qti::Interaction (p.128), ilog::qti::Prompt (p.173), ilog::qti::SimpleInline
(p.202), ilog::qti::BlockInteraction (p.54), ilog::qti::Span (p.207), ilog::qti::Choice (p.63),
ilog::qti::SimpleChoice (p.200), ilog::qti::AssociableChoice (p.50),
ilog::qti::SimpleAssociableChoice (p.198), ilog::qti::ChoiceInteraction (p.66),
ilog::qti::MatchInteraction (p.149), and ilog::qti::ItemBody (p.139).
void ilog::qti::BodyElement::SetLabel (String256 label) [inline]
Set the 'label' property.
58
void ilog::qti::BodyElement::SetLanguage (Language lang) [inline]
Set the 'lang' property.
void ilog::qti::BodyElement::SetStyleClass (StyleClass style) [inline]
Set the 'style' property.
ilog::qti::BodyElementManager Class Reference A central class for registering QTI body elements (i.e.
#include <body_element_manager.h>
Public Member Functions
void AddBodyElement (BodyElement::Ptr element)
qti::BodyElement::Ptr GetBodyElement (const Identifier &id) const
bool HasBodyElement (const Identifier &id) const
void RemoveBodyElement (const Identifier &id)
void RemoveAllBodyElements ()
Static Public Member Functions
static BodyElementManager & Instance ()
Detailed Description
A central class for registering QTI body elements (i.e.
elements that have graphical representations).
Member Function Documentation
void ilog::qti::BodyElementManager::AddBodyElement (BodyElement::Ptr element)
Add a body element.
qti::BodyElement::Ptr ilog::qti::BodyElementManager::GetBodyElement (const Identifier & id) const
Get the body element with the given identifier.
bool ilog::qti::BodyElementManager::HasBodyElement (const Identifier & id) const
Is a body element with the given identifier registered?
static BodyElementManager& ilog::qti::BodyElementManager::Instance () [static]
Singleton accessor.
void ilog::qti::BodyElementManager::RemoveAllBodyElements ()
Remove all body elements.
59
void ilog::qti::BodyElementManager::RemoveBodyElement (const Identifier & id)
Remove the body element with the given identifier.
ilog::BorderInfo Class Reference Data object aggregating all border property information.
#include <border_property.h>
Public Member Functions
BorderInfo (BorderStyleFlags style=BDSTYLE_NONE, wxColour color=*wxBLACK, int
thickness=1, BorderSidesFlags sides=BDSIDES_ALL, const wxString skin=wxEmptyString)
BorderInfo & Color (wxColour color)
wxColour GetColor () const
BorderInfo & Sides (BorderSidesFlags flags)
BorderInfo & Sides (const wxString &sides)
BorderSidesFlags GetSides () const
wxString GetSidesString () const
BorderInfo & Skin (const wxString &skin)
wxString GetSkin () const
BorderInfo & Style (BorderStyleFlags flags)
BorderInfo & Style (const wxString &style)
BorderStyleFlags GetStyle () const
wxString GetStyleString () const
BorderInfo & Thickness (int thickness)
int GetThickness () const
Detailed Description
Data object aggregating all border property information.
Implements the 'named parameter' idiom -- most setter methods can be chained together for easier
property specification.
Constructor & Destructor Documentation
ilog::BorderInfo::BorderInfo (BorderStyleFlags style = BDSTYLE_NONE, wxColour color =
*wxBLACK, int thickness = 1, BorderSidesFlags sides = BDSIDES_ALL, const wxString
skin = wxEmptyString) [inline]
Member Function Documentation
BorderInfo& ilog::BorderInfo::Color (wxColour color) [inline]
Set border color.
60
wxColour ilog::BorderInfo::GetColor () const [inline]
Get border color.
BorderSidesFlags ilog::BorderInfo::GetSides () const [inline]
Get border side flags.
wxString ilog::BorderInfo::GetSidesString () const [inline]
Get border side flags in a whitespace-delimited string.
wxString ilog::BorderInfo::GetSkin () const [inline]
Get the border skin.
BorderStyleFlags ilog::BorderInfo::GetStyle () const [inline]
Get the border style.
wxString ilog::BorderInfo::GetStyleString () const [inline]
Get the border style as a string.
int ilog::BorderInfo::GetThickness () const [inline]
Get border thickness.
BorderInfo& ilog::BorderInfo::Sides (const wxString & sides) [inline]
Set border side flags with string.
Can set multiple flags with whitespace-delimited string.
BorderInfo& ilog::BorderInfo::Sides (BorderSidesFlags flags) [inline]
Set border side flags.
BorderInfo& ilog::BorderInfo::Skin (const wxString & skin) [inline]
Set the border skin.
BorderInfo& ilog::BorderInfo::Style (const wxString & style) [inline]
Set the border style from a string.
BorderInfo& ilog::BorderInfo::Style (BorderStyleFlags flags) [inline]
Set the border style.
BorderInfo& ilog::BorderInfo::Thickness (int thickness) [inline]
Set border thickness.
ilog::BorderProperty Class Reference A wxPGProperty subclass used to display the "border" settings of a Flash component.
#include <border_property.h>
61
Public Member Functions
BorderProperty (const wxString &label=wxPG_LABEL, const wxString &name=wxPG_LABEL,
const BorderInfo &init_settings=BorderInfo())
virtual ~BorderProperty ()
virtual void OnSetValue ()
virtual wxString GetValueAsString (int argFlags=0) const
Detailed Description
A wxPGProperty subclass used to display the "border" settings of a Flash component.
Constructor & Destructor Documentation
ilog::BorderProperty::BorderProperty (const wxString & label = wxPG_LABEL, const
wxString & name = wxPG_LABEL, const BorderInfo & init_settings = BorderInfo())
virtual ilog::BorderProperty::~BorderProperty () [virtual]
Member Function Documentation
virtual wxString ilog::BorderProperty::GetValueAsString (int argFlags = 0) const [virtual]
virtual void ilog::BorderProperty::OnSetValue () [virtual]
ilog::qti::Choice Class Reference #include <content_model.h>
Inheritance diagram for ilog::qti::Choice:
62
Public Types
typedef shared_ptr< Choice > Ptr
Public Member Functions
Identifier GetIdentifier () const
void SetIdentifier (const wxString &identifier)
Boolean IsFixed () const
void SetFixed (Boolean fixed)
Identifier GetTemplateIdentifier () const
void SetTemplateIdentifier (Identifier identifier)
ShowHide GetShowHide () const
void SetShowHide (ShowHide sh)
wxXmlNode * Serialize () const
void InitializeFromXml (const wxXmlNode *root_node)
Static Public Member Functions
static Ptr CreateFromXml (const wxXmlNode *root_node)
Protected Member Functions
Choice ()
Choice (const wxXmlNode *root_node)
Member Typedef Documentation
typedef shared_ptr<Choice> ilog::qti::Choice::Ptr
Reimplemented from ilog::qti::BodyElement (p.55).
Reimplemented in ilog::qti::SimpleChoice (p.199), ilog::qti::AssociableChoice (p.49), and
ilog::qti::SimpleAssociableChoice (p.197).
63
Constructor & Destructor Documentation
ilog::qti::Choice::Choice () [protected]
ilog::qti::Choice::Choice (const wxXmlNode * root_node) [explicit, protected]
Member Function Documentation
static Ptr ilog::qti::Choice::CreateFromXml (const wxXmlNode * root_node) [static]
Reimplemented in ilog::qti::AssociableChoice (p.49).
Identifier ilog::qti::Choice::GetIdentifier () const [inline]
ShowHide ilog::qti::Choice::GetShowHide () const [inline]
Identifier ilog::qti::Choice::GetTemplateIdentifier () const [inline]
void ilog::qti::Choice::InitializeFromXml (const wxXmlNode * root_node) [virtual]
Reimplemented from ilog::qti::BodyElement (p.57).
Reimplemented in ilog::qti::SimpleChoice (p.200), ilog::qti::AssociableChoice (p.49), and
ilog::qti::SimpleAssociableChoice (p.198).
Boolean ilog::qti::Choice::IsFixed () const [inline]
wxXmlNode* ilog::qti::Choice::Serialize () const [virtual]
Reimplemented from ilog::qti::BodyElement (p.57).
Reimplemented in ilog::qti::SimpleChoice (p.200), ilog::qti::AssociableChoice (p.50), and
ilog::qti::SimpleAssociableChoice (p.198).
void ilog::qti::Choice::SetFixed (Boolean fixed) [inline]
void ilog::qti::Choice::SetIdentifier (const wxString & identifier) [inline]
void ilog::qti::Choice::SetShowHide (ShowHide sh) [inline]
void ilog::qti::Choice::SetTemplateIdentifier (Identifier identifier) [inline]
ilog::qti::ChoiceInteraction Class Reference #include <content_model.h>
Inheritance diagram for ilog::qti::ChoiceInteraction:
64
Public Types
typedef shared_ptr< ChoiceInteraction > Ptr
Public Member Functions
bool IsInstantiable () const
wxString GetName () const
Boolean IsShuffle () const
void SetShuffle (Boolean shuffle)
Integer GetMaxChoices () const
void SetMaxChoices (Integer max_choices)
Integer GetMinChoices () const
void SetMinChoices (Integer min_choices)
wxString Instantiate (shared_ptr< As::FlashInterface > flash_interface, As::ComponentHandle
parent, int style=0)
wxXmlNode * Serialize () const
void InitializeFromXml (const wxXmlNode *root_node)
Static Public Member Functions
static Ptr Create ()
static Ptr Create (const wxXmlNode *root_node)
static Ptr Create (Identifier response_identifier, Boolean shuffle=false, Integer max_choices=1,
Integer min_choices=0)
Protected Member Functions
ChoiceInteraction ()
ChoiceInteraction (Identifier response_identifier, Boolean shuffle=false, Integer max_choices=1,
Integer min_choices=0)
ChoiceInteraction (const wxXmlNode *root_node)
65
Member Typedef Documentation
typedef shared_ptr<ChoiceInteraction> ilog::qti::ChoiceInteraction::Ptr
Reimplemented from ilog::qti::BlockInteraction (p.53).
Constructor & Destructor Documentation
ilog::qti::ChoiceInteraction::ChoiceInteraction () [protected]
ilog::qti::ChoiceInteraction::ChoiceInteraction (Identifier response_identifier, Boolean
shuffle = false, Integer max_choices = 1, Integer min_choices = 0) [explicit, protected]
ilog::qti::ChoiceInteraction::ChoiceInteraction (const wxXmlNode * root_node) [explicit, protected]
Member Function Documentation
static Ptr ilog::qti::ChoiceInteraction::Create (Identifier response_identifier, Boolean
shuffle = false, Integer max_choices = 1, Integer min_choices = 0) [static]
static Ptr ilog::qti::ChoiceInteraction::Create (const wxXmlNode * root_node) [static]
static Ptr ilog::qti::ChoiceInteraction::Create () [static]
Integer ilog::qti::ChoiceInteraction::GetMaxChoices () const [inline]
Integer ilog::qti::ChoiceInteraction::GetMinChoices () const [inline]
wxString ilog::qti::ChoiceInteraction::GetName () const [inline, virtual]
This pure virtual method allows abstract base classes to know the name of the XML element
that represents their concrete descendants.
It should only be implemented in classes that correspond to a concrete (non-abstract) QTI
element.
Implements ilog::qti::Element (p.95).
void ilog::qti::ChoiceInteraction::InitializeFromXml (const wxXmlNode * root_node) [virtual]
Reimplemented from ilog::qti::BlockInteraction (p.54).
wxString ilog::qti::ChoiceInteraction::Instantiate (shared_ptr< As::FlashInterface >
flash_interface, As::ComponentHandle parent, int style = 0) [virtual]
This function creates a tree of Flash graphical objects to which the BodyElement can be
mapped, and returns a mapping describing which graphical component corresponds to which
QTI component ID.
66
Implements ilog::qti::IInstantiable (p.123).
bool ilog::qti::ChoiceInteraction::IsInstantiable () const [inline, virtual]
This method should be overriden to return 'true' if the element can be instantiated as a
graphical component (i.e.
it is a non-abstract QTI element). Instantiable elements should also implement the
'IInstantiable' interface.
Reimplemented from ilog::qti::Element (p.95).
Boolean ilog::qti::ChoiceInteraction::IsShuffle () const [inline]
wxXmlNode* ilog::qti::ChoiceInteraction::Serialize () const [virtual]
Reimplemented from ilog::qti::BlockInteraction (p.54).
void ilog::qti::ChoiceInteraction::SetMaxChoices (Integer max_choices) [inline]
void ilog::qti::ChoiceInteraction::SetMinChoices (Integer min_choices) [inline]
void ilog::qti::ChoiceInteraction::SetShuffle (Boolean shuffle) [inline]
ilog::ChoiceInteractionWizard Class Reference The wizard for creating ChoiceInteraction instances.
#include <choice_interaction_wizard.h>
Public Member Functions
ChoiceInteractionWizard (wxFrame *parent_frame)
wxWizardPage * GetFirstPage () const
void OnWizardFinished (wxWizardEvent &evt)
void OnWizardPageChanged (wxWizardEvent &evt)
qti::ChoiceInteraction::Ptr GetChoiceInteraction () const
qti::ResponseDeclaration::Ptr GetResponseDeclaration () const
qti::ResponseProcessing::Ptr GetResponseProcessing () const
Detailed Description
The wizard for creating ChoiceInteraction instances.
Constructor & Destructor Documentation
ilog::ChoiceInteractionWizard::ChoiceInteractionWizard (wxFrame * parent_frame)
67
Member Function Documentation
qti::ChoiceInteraction::Ptr ilog::ChoiceInteractionWizard::GetChoiceInteraction () const [inline]
Accessor for generated ChoiceInteraction.
Returns NULL unless wizard finished.
wxWizardPage* ilog::ChoiceInteractionWizard::GetFirstPage () const
qti::ResponseDeclaration::Ptr ilog::ChoiceInteractionWizard::GetResponseDeclaration ()
const [inline]
Accessor for generated ResponseDeclaration.
Returns NULL unless wizard finished.
qti::ResponseProcessing::Ptr ilog::ChoiceInteractionWizard::GetResponseProcessing ()
const [inline]
Accessor for generated ResponseProcessing.
Returns NULL unless wizard finished.
void ilog::ChoiceInteractionWizard::OnWizardFinished (wxWizardEvent & evt)
void ilog::ChoiceInteractionWizard::OnWizardPageChanged (wxWizardEvent & evt)
ilog::ChoiceInteractionWizardPage_Cardinality Class Reference The 'cardinality' page of the wizard.
#include <choice_interaction_wizard.h>
Public Member Functions
ChoiceInteractionWizardPage_Cardinality (wxWizard *parent)
virtual wxWizardPage * GetNext () const
virtual wxWizardPage * GetPrev () const
void OnCardinalityChanged (wxCommandEvent &evt)
void OnChoicesChanged (wxCommandEvent &evt)
Friends
class ChoiceInteractionWizard
Detailed Description
The 'cardinality' page of the wizard.
68
Constructor & Destructor Documentation
ilog::ChoiceInteractionWizardPage_Cardinality::ChoiceInteractionWizardPage_Cardinality (wxWizard * parent)
Member Function Documentation
virtual wxWizardPage* ilog::ChoiceInteractionWizardPage_Cardinality::GetNext () const [virtual]
virtual wxWizardPage* ilog::ChoiceInteractionWizardPage_Cardinality::GetPrev () const [virtual]
void ilog::ChoiceInteractionWizardPage_Cardinality::OnCardinalityChanged (wxCommandEvent & evt)
void ilog::ChoiceInteractionWizardPage_Cardinality::OnChoicesChanged (wxCommandEvent & evt)
Friends And Related Function Documentation
friend class ChoiceInteractionWizard [friend]
ilog::ChoiceInteractionWizardPage_Responses Class Reference The 'responses' page of the wizard.
#include <choice_interaction_wizard.h>
Public Types
typedef int CardinalityFlag
Public Member Functions
ChoiceInteractionWizardPage_Responses (wxWizard *parent)
CardinalityFlag GetCardinality () const
void SetCardinality (CardinalityFlag card)
int GetChoiceCount () const
void SetChoiceCount (int count)
Static Public Attributes
static const CardinalityFlag CARD_UNSPECIFIED = 0
static const CardinalityFlag CARD_SINGLE = 1
static const CardinalityFlag CARD_MULTIPLE = 2
69
Friends
class ChoiceInteractionWizard
Detailed Description
The 'responses' page of the wizard.
Member Typedef Documentation
typedef int ilog::ChoiceInteractionWizardPage_Responses::CardinalityFlag
Constructor & Destructor Documentation
ilog::ChoiceInteractionWizardPage_Responses::ChoiceInteractionWizardPage_Responses (wxWizard * parent)
Member Function Documentation
CardinalityFlag ilog::ChoiceInteractionWizardPage_Responses::GetCardinality () const [inline]
int ilog::ChoiceInteractionWizardPage_Responses::GetChoiceCount () const [inline]
void ilog::ChoiceInteractionWizardPage_Responses::SetCardinality (CardinalityFlag card)
void ilog::ChoiceInteractionWizardPage_Responses::SetChoiceCount (int count)
Friends And Related Function Documentation
friend class ChoiceInteractionWizard [friend]
Member Data Documentation
const CardinalityFlag ilog::ChoiceInteractionWizardPage_Responses::CARD_MULTIPLE =
2 [static]
const CardinalityFlag ilog::ChoiceInteractionWizardPage_Responses::CARD_SINGLE = 1 [static]
const CardinalityFlag ilog::ChoiceInteractionWizardPage_Responses::CARD_UNSPECIFIED = 0 [static]
70
ilog::ClipboardCloser Class Reference Guard object to ensure wxClipboard is properly release.
#include <clipboard_closer.h>
Public Member Functions
ClipboardCloser (wxClipboard *clip_board)
~ClipboardCloser ()
Detailed Description
Guard object to ensure wxClipboard is properly release.
Constructor & Destructor Documentation
ilog::ClipboardCloser::ClipboardCloser (wxClipboard * clip_board) [inline, explicit]
ilog::ClipboardCloser::~ClipboardCloser () [inline]
ilog::ColoredFont Class Reference Aggregates a wxFont and a wxColour object.
#include <colored_font.h>
Public Member Functions
ColoredFont ()
ColoredFont (const wxColour &c, const wxFont f=wxFont())
ColoredFont (const wxFont &f, const wxColour &c=*wxBLACK)
wxColour GetColor () const
const wxColour & GetColorRef () const
wxFont GetFont () const
const wxFont & GetFontRef () const
void SetColor (const wxColour &c)
void SetFont (const wxFont &f)
bool operator== (const ColoredFont &that) const
Detailed Description
Aggregates a wxFont and a wxColour object.
71
Constructor & Destructor Documentation
ilog::ColoredFont::ColoredFont () [inline]
ilog::ColoredFont::ColoredFont (const wxColour & c, const wxFont f = wxFont()) [inline]
ilog::ColoredFont::ColoredFont (const wxFont & f, const wxColour & c = *wxBLACK) [inline]
Member Function Documentation
wxColour ilog::ColoredFont::GetColor () const [inline]
const wxColour& ilog::ColoredFont::GetColorRef () const [inline]
wxFont ilog::ColoredFont::GetFont () const [inline]
const wxFont& ilog::ColoredFont::GetFontRef () const [inline]
bool ilog::ColoredFont::operator== (const ColoredFont & that) const [inline]
void ilog::ColoredFont::SetColor (const wxColour & c) [inline]
void ilog::ColoredFont::SetFont (const wxFont & f) [inline]
ilog::As::ComponentDataObject Class Reference A wxDataObject subclass which represents Actionscript graphical components when they are
stored in the clipboard.
#include <flash_interface.h>
Public Member Functions
ComponentDataObject ()
ComponentDataObject (FlashInterface::Ptr flash_interface, ComponentHandle h_comp)
ComponentInfo GetComponentInfo () const
Detailed Description
A wxDataObject subclass which represents Actionscript graphical components when they are
stored in the clipboard.
72
Constructor & Destructor Documentation
ilog::As::ComponentDataObject::ComponentDataObject ()
ilog::As::ComponentDataObject::ComponentDataObject (FlashInterface::Ptr flash_interface, ComponentHandle h_comp)
Member Function Documentation
ComponentInfo ilog::As::ComponentDataObject::GetComponentInfo () const
ilog::As::ComponentExtraProperties Class Reference A class for storing and manipulating the properties of a component that are managed on the C++
side of the application rather than the Flash side.
#include <component_extra_properties.h>
Public Member Functions
ComponentExtraProperties ()
bool HasAlias () const
wxString GetAlias () const
void SetAlias (const wxString alias)
bool IsDragable () const
void AddDragableFormat (const wxString &format)
wxString GetDragableData () const
std::vector< wxString > GetDragableFormats () const
bool HasDragableFormat (const wxString &format) const
void RemoveDragableFormat (const wxString &format)
void RemoveAllDragableFormats ()
void SetDragableData (const wxString &data)
bool IsDropTarget () const
void AddDropTargetFormat (const wxString &format)
std::vector< wxString > GetDropTargetFormats () const
bool HasDropTargetFormat (const wxString &format) const
void RemoveDropTargetFormat (const wxString &format)
void RemoveAllDropTargetFormats ()
bool IsEventDispatcher () const
void AddEvent (const wxString &type, const EventAction &action)
std::vector< EventAction > GetAllEventActions ()
EventAction GetEventAction (const wxString &type)
bool HasEvent (const wxString &type)
void RemoveEvent (const wxString &type)
void RemoveAllEvents ()
void MapToQtiElement (qti::Identifier member_id)
bool IsMappedToQtiElement ()
bool IsMappedToQtiElement (qti::Identifier member_id)
std::vector< qti::Identifier > GetAllMappedQtiElements () const
73
void RemoveMappingToQtiElement (qti::Identifier member_id)
Static Public Attributes
static const wxString DRAG_DROP_ANY_FORMAT
Detailed Description
A class for storing and manipulating the properties of a component that are managed on the C++
side of the application rather than the Flash side.
Constructor & Destructor Documentation
ilog::As::ComponentExtraProperties::ComponentExtraProperties () [inline]
Member Function Documentation
void ilog::As::ComponentExtraProperties::AddDragableFormat (const wxString & format) [inline]
Make the component a dragable format that is accepted by drop targets with the same format.
void ilog::As::ComponentExtraProperties::AddDropTargetFormat (const wxString &
format) [inline]
Add a format that the drop target will accept.
void ilog::As::ComponentExtraProperties::AddEvent (const wxString & type, const
EventAction & action) [inline]
Add an event to be dispatched by this component.
Parameters:
type The type of the event
action The action to take when the event is triggered
wxString ilog::As::ComponentExtraProperties::GetAlias () const [inline]
Get the alternative name for the component.
std::vector<EventAction> ilog::As::ComponentExtraProperties::GetAllEventActions () [inline]
Get all event actions associated with this component.
std::vector<qti::Identifier>
ilog::As::ComponentExtraProperties::GetAllMappedQtiElements () const [inline]
Get all QTI elements associated with this component.
wxString ilog::As::ComponentExtraProperties::GetDragableData () const [inline]
Get the data that the component passes to a drop target when it is dropped.
74
std::vector<wxString> ilog::As::ComponentExtraProperties::GetDragableFormats () const [inline]
Get all of the valid drag formats for this dragable component.
std::vector<wxString> ilog::As::ComponentExtraProperties::GetDropTargetFormats () const [inline]
Get all formats that this drop target will accept.
EventAction ilog::As::ComponentExtraProperties::GetEventAction (const wxString & type) [inline]
Get the event action for the given event type.
bool ilog::As::ComponentExtraProperties::HasAlias () const [inline]
Does the component have an alternative name?
bool ilog::As::ComponentExtraProperties::HasDragableFormat (const wxString & format)
const [inline]
Does the component have the specified drag format?
bool ilog::As::ComponentExtraProperties::HasDropTargetFormat (const wxString &
format) const [inline]
Does the drop target have the given format?
bool ilog::As::ComponentExtraProperties::HasEvent (const wxString & type) [inline]
Does the component respond to the given event?
bool ilog::As::ComponentExtraProperties::IsDragable () const [inline]
Is the component a dragable component?
bool ilog::As::ComponentExtraProperties::IsDropTarget () const [inline]
Is this component a drop target?
bool ilog::As::ComponentExtraProperties::IsEventDispatcher () const [inline]
Is the component an event dispatcher?
bool ilog::As::ComponentExtraProperties::IsMappedToQtiElement (qti::Identifier member_id) [inline]
Does this component correspond to the given QTI element?
bool ilog::As::ComponentExtraProperties::IsMappedToQtiElement () [inline]
Does this component correspond to any QTI elements?
void ilog::As::ComponentExtraProperties::MapToQtiElement (qti::Identifier member_id) [inline]
Indicate that this component corresponds to a given QTI element.
void ilog::As::ComponentExtraProperties::RemoveAllDragableFormats () [inline]
Remove all drag formats, making the component no longer dragable.
75
void ilog::As::ComponentExtraProperties::RemoveAllDropTargetFormats () [inline]
Remove all drop formats -- the component is no longer a drop target.
void ilog::As::ComponentExtraProperties::RemoveAllEvents () [inline]
Remove all event handlers.
void ilog::As::ComponentExtraProperties::RemoveDragableFormat (const wxString &
format) [inline]
Remove the given drag format.
void ilog::As::ComponentExtraProperties::RemoveDropTargetFormat (const wxString & format) [inline]
Remove the given drop target format for this drop target.
void ilog::As::ComponentExtraProperties::RemoveEvent (const wxString & type) [inline]
Remove the event handler for the given event.
void ilog::As::ComponentExtraProperties::RemoveMappingToQtiElement (qti::Identifier
member_id) [inline]
Indicate that the component no longer corresponds to the given QTI element.
void ilog::As::ComponentExtraProperties::SetAlias (const wxString alias) [inline]
Set the alternative name for the component.
void ilog::As::ComponentExtraProperties::SetDragableData (const wxString & data) [inline]
Set the data that will be passed to a drop target when the component is dropped.
Member Data Documentation
const wxString ilog::As::ComponentExtraProperties::DRAG_DROP_ANY_FORMAT [static]
ilog::As::ComponentHandle Class Reference A handle class which provides a link to an Actionscript graphical component managed by the
Flash portion of the editor.
#include <component_handle.h>
Public Types
typedef As::UInt IdType
Public Member Functions
ComponentHandle ()
76
ComponentHandle (IdType id)
ComponentHandle (const ComponentHandle &that)
~ComponentHandle ()
IdType GetId () const
void Invalidate ()
ComponentHandle & operator= (const ComponentHandle &that)
bool operator== (const ComponentHandle &rhs) const
bool operator!= (const ComponentHandle &rhs) const
bool operator< (const ComponentHandle &that) const
operator bool_type () const
Static Public Attributes
static const IdType INVALID = 0
Friends
class FlashInterface
size_t hash_value (const ComponentHandle &handle)
Detailed Description
A handle class which provides a link to an Actionscript graphical component managed by the
Flash portion of the editor.
All copies of a handle reference the same component, and all will be invalidated if one is
invalidated.
Member Typedef Documentation
typedef As::UInt ilog::As::ComponentHandle::IdType
Constructor & Destructor Documentation
ilog::As::ComponentHandle::ComponentHandle () [inline]
ilog::As::ComponentHandle::ComponentHandle (IdType id) [inline, explicit]
ilog::As::ComponentHandle::ComponentHandle (const ComponentHandle & that) [inline]
ilog::As::ComponentHandle::~ComponentHandle () [inline]
Member Function Documentation
IdType ilog::As::ComponentHandle::GetId () const [inline]
Get the component's numeric ID.
Don't use this unless you are communicating directly with the Flash side.
77
void ilog::As::ComponentHandle::Invalidate () [inline]
Invalidate this handle and all copies (i.e.
assert( handle ) will fail).
ilog::As::ComponentHandle::operator bool_type () const [inline]
Safe implicit boolean test.
bool ilog::As::ComponentHandle::operator!= (const ComponentHandle & rhs) const [inline]
bool ilog::As::ComponentHandle::operator< (const ComponentHandle & that) const [inline]
So handles can be used as keys in std::map.
ComponentHandle& ilog::As::ComponentHandle::operator= (const ComponentHandle &
that) [inline]
bool ilog::As::ComponentHandle::operator== (const ComponentHandle & rhs) const [inline]
Returns true iff both handles reference the same component.
Friends And Related Function Documentation
friend class FlashInterface [friend]
size_t hash_value (const ComponentHandle & handle) [friend]
Hash function for ComponentHandle.
Member Data Documentation
const IdType ilog::As::ComponentHandle::INVALID = 0 [static]
ilog::As::ComponentInfo Struct Reference A data structure describing the properties of an Actionscript graphical component.
#include <flash_interface.h>
Public Member Functions
ComponentInfo ()
ComponentInfo (const wxString &type, Object properties)
ComponentInfo (const ComponentInfo &that)
~ComponentInfo ()
ComponentInfo & operator= (const ComponentInfo &that)
78
Public Attributes
wxString Type
Object Properties
Detailed Description
A data structure describing the properties of an Actionscript graphical component.
Constructor & Destructor Documentation
ilog::As::ComponentInfo::ComponentInfo () [inline]
ilog::As::ComponentInfo::ComponentInfo (const wxString & type, Object properties) [inline]
ilog::As::ComponentInfo::ComponentInfo (const ComponentInfo & that) [inline]
ilog::As::ComponentInfo::~ComponentInfo () [inline]
Member Function Documentation
ComponentInfo& ilog::As::ComponentInfo::operator= (const ComponentInfo & that) [inline]
Member Data Documentation
Object ilog::As::ComponentInfo::Properties
wxString ilog::As::ComponentInfo::Type
ilog::ComponentPalette Class Reference A control for creating Flash graphical components.
#include <component_palette.h>
Public Member Functions
ComponentPalette (wxWindow *parent, wxWindowID id, As::FlashInterface::Ptr flash_interface,
wxCommandProcessor *cmd_proc, const wxPoint &pos=wxDefaultPosition, const wxSize
&size=wxDefaultSize, long style=0, const wxString &name=wxPanelNameStr)
void CreateButton (wxCommandEvent &evt)
void CreateRadioButton (wxCommandEvent &evt)
void CreateCheckBox (wxCommandEvent &evt)
void CreateComboBox (wxCommandEvent &evt)
79
void CreateTextArea (wxCommandEvent &evt)
void CreateBox (wxCommandEvent &evt)
void CreateCanvas (wxCommandEvent &evt)
void CreateItemBank (wxCommandEvent &evt)
Detailed Description
A control for creating Flash graphical components.
Constructor & Destructor Documentation
ilog::ComponentPalette::ComponentPalette (wxWindow * parent, wxWindowID id, As::FlashInterface::Ptr flash_interface, wxCommandProcessor * cmd_proc, const
wxPoint & pos = wxDefaultPosition, const wxSize & size = wxDefaultSize, long
style = 0, const wxString & name = wxPanelNameStr)
Member Function Documentation
void ilog::ComponentPalette::CreateBox (wxCommandEvent & evt)
void ilog::ComponentPalette::CreateButton (wxCommandEvent & evt)
void ilog::ComponentPalette::CreateCanvas (wxCommandEvent & evt)
void ilog::ComponentPalette::CreateCheckBox (wxCommandEvent & evt)
void ilog::ComponentPalette::CreateComboBox (wxCommandEvent & evt)
void ilog::ComponentPalette::CreateItemBank (wxCommandEvent & evt)
void ilog::ComponentPalette::CreateRadioButton (wxCommandEvent & evt)
void ilog::ComponentPalette::CreateTextArea (wxCommandEvent & evt)
ilog::ComponentsPanel Class Reference A panel that displays a tree view of the components in the project.
#include <organizer_notebook.h>
Public Member Functions
ComponentsPanel (wxWindow *parent, wxWindowID id, As::FlashInterface::Ptr flash_interface,
const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=0, const
wxString &name=wxPanelNameStr)
void OnTreeItemActivated (wxTreeEvent &evt)
void SelectComponent (As::ComponentHandle h_comp, bool select=true)
80
void Synchronize (As::ComponentHandle h_root=As::ComponentHandle(), bool recursive=true)
Detailed Description
A panel that displays a tree view of the components in the project.
Not currently functional.
Constructor & Destructor Documentation
ilog::ComponentsPanel::ComponentsPanel (wxWindow * parent, wxWindowID id, As::FlashInterface::Ptr flash_interface, const wxPoint & pos = wxDefaultPosition,
const wxSize & size = wxDefaultSize, long style = 0, const wxString & name =
wxPanelNameStr)
Member Function Documentation
void ilog::ComponentsPanel::OnTreeItemActivated (wxTreeEvent & evt)
void ilog::ComponentsPanel::SelectComponent (As::ComponentHandle h_comp, bool
select = true)
Tell the panel that the selection status of the given component has changed.
void ilog::ComponentsPanel::Synchronize (As::ComponentHandle h_root =
As::ComponentHandle(), bool recursive = true)
Update the status of the root component.
ilog::qti::Correct Class Reference #include <expression.h>
Inheritance diagram for ilog::qti::Correct:
81
Public Types
typedef shared_ptr< Correct > Ptr
Public Member Functions
wxString GetName () const
Identifier GetIdentifier () const
wxXmlNode * Serialize () const
void InitializeFromXml (const wxXmlNode *root_node)
Static Public Member Functions
static Ptr Create ()
static Ptr Create (const wxXmlNode *root_node)
static Ptr Create (Identifier id)
Protected Member Functions
Correct ()
Correct (Identifier id)
Correct (const wxXmlNode *root_node)
Member Typedef Documentation
typedef shared_ptr<Correct> ilog::qti::Correct::Ptr
Reimplemented from ilog::qti::Expression (p.100).
Constructor & Destructor Documentation
ilog::qti::Correct::Correct () [protected]
ilog::qti::Correct::Correct (Identifier id) [explicit, protected]
ilog::qti::Correct::Correct (const wxXmlNode * root_node) [explicit, protected]
82
Member Function Documentation
static Ptr ilog::qti::Correct::Create (Identifier id) [static]
static Ptr ilog::qti::Correct::Create (const wxXmlNode * root_node) [static]
static Ptr ilog::qti::Correct::Create () [static]
Identifier ilog::qti::Correct::GetIdentifier () const [inline]
wxString ilog::qti::Correct::GetName () const [inline, virtual]
This pure virtual method allows abstract base classes to know the name of the XML element
that represents their concrete descendants.
It should only be implemented in classes that correspond to a concrete (non-abstract) QTI
element.
Implements ilog::qti::Element (p.95).
void ilog::qti::Correct::InitializeFromXml (const wxXmlNode * root_node) [virtual]
Reimplemented from ilog::qti::ISerializable (p.135).
wxXmlNode* ilog::qti::Correct::Serialize () const [virtual]
Reimplemented from ilog::qti::Element (p.96).
ilog::qti::CorrectResponse Class Reference #include <content_model.h>
Inheritance diagram for ilog::qti::CorrectResponse:
Public Types
typedef shared_ptr< CorrectResponse > Ptr
Public Member Functions
wxString GetName () const
String GetInterpretation () const
void SetInterpretation (String interpretation)
void AddValue (const ValueType &v)
83
std::vector< ValueType > GetValues () const
bool HasValue (const ValueType &v) const
void RemoveValue (const ValueType &v)
wxXmlNode * Serialize () const
void InitializeFromXml (const wxXmlNode *root_node)
Static Public Member Functions
static Ptr Create (String interpretation=String())
static Ptr Create (const wxXmlNode *root_node)
template<typename ForwardItr > static Ptr Create (ForwardItr first, ForwardItr last)
Protected Member Functions
CorrectResponse (String interpretation=String())
template<typename ForwardItr > CorrectResponse (ForwardItr first, ForwardItr last)
CorrectResponse (const wxXmlNode *root_node)
Member Typedef Documentation
typedef shared_ptr<CorrectResponse> ilog::qti::CorrectResponse::Ptr
Reimplemented from ilog::qti::Element (p.94).
Constructor & Destructor Documentation
ilog::qti::CorrectResponse::CorrectResponse (String interpretation = String()) [explicit, protected]
template<typename ForwardItr > ilog::qti::CorrectResponse::CorrectResponse (ForwardItr
first, ForwardItr last) [inline, protected]
ilog::qti::CorrectResponse::CorrectResponse (const wxXmlNode * root_node) [explicit, protected]
84
Member Function Documentation
void ilog::qti::CorrectResponse::AddValue (const ValueType & v) [inline]
template<typename ForwardItr > static Ptr ilog::qti::CorrectResponse::Create (ForwardItr
first, ForwardItr last) [inline, static]
static Ptr ilog::qti::CorrectResponse::Create (const wxXmlNode * root_node) [static]
static Ptr ilog::qti::CorrectResponse::Create (String interpretation = String()) [static]
String ilog::qti::CorrectResponse::GetInterpretation () const [inline]
wxString ilog::qti::CorrectResponse::GetName () const [inline, virtual]
This pure virtual method allows abstract base classes to know the name of the XML element
that represents their concrete descendants.
It should only be implemented in classes that correspond to a concrete (non-abstract) QTI
element.
Implements ilog::qti::Element (p.95).
std::vector<ValueType> ilog::qti::CorrectResponse::GetValues () const [inline]
bool ilog::qti::CorrectResponse::HasValue (const ValueType & v) const [inline]
void ilog::qti::CorrectResponse::InitializeFromXml (const wxXmlNode * root_node) [virtual]
Reimplemented from ilog::qti::ISerializable (p.135).
void ilog::qti::CorrectResponse::RemoveValue (const ValueType & v) [inline]
wxXmlNode* ilog::qti::CorrectResponse::Serialize () const [virtual]
Reimplemented from ilog::qti::Element (p.96).
void ilog::qti::CorrectResponse::SetInterpretation (String interpretation) [inline]
ilog::CreateComponentCommand Class Reference A command that creates an Actionscript component.
#include <component_command.h>
Public Member Functions
CreateComponentCommand (const wxString &name, As::FlashInterface::Ptr flash_interface,
As::ComponentInfo info, As::ComponentHandle parent)
CreateComponentCommand (const wxString &name, As::FlashInterface::Ptr flash_interface,
const wxString &type, As::ComponentHandle parent)
85
~CreateComponentCommand ()
bool Do ()
bool Undo ()
Detailed Description
A command that creates an Actionscript component.
This command is used to implement both 'Add' and 'Paste' operations.
Constructor & Destructor Documentation
ilog::CreateComponentCommand::CreateComponentCommand (const wxString & name, As::FlashInterface::Ptr flash_interface, As::ComponentInfo info, As::ComponentHandle parent)
Constructor.
The command will create a component with type and properties specified by the 'info' object.
ilog::CreateComponentCommand::CreateComponentCommand (const wxString & name, As::FlashInterface::Ptr flash_interface, const wxString & type, As::ComponentHandle parent)
Constructor.
The command will create a component of the specified type with default property values.
ilog::CreateComponentCommand::~CreateComponentCommand ()
Member Function Documentation
bool ilog::CreateComponentCommand::Do ()
bool ilog::CreateComponentCommand::Undo ()
ilog::File::DirectoryEnumerator Class Reference wxDirTraverser subclass that only enumerates directories.
#include <file_util.h>
Public Member Functions
DirectoryEnumerator (wxArrayString &files)
virtual wxDirTraverseResult OnFile (const wxString &filename)
virtual wxDirTraverseResult OnDir (const wxString &dirname)
86
Detailed Description
wxDirTraverser subclass that only enumerates directories.
Constructor & Destructor Documentation
ilog::File::DirectoryEnumerator::DirectoryEnumerator (wxArrayString & files) [inline]
Member Function Documentation
virtual wxDirTraverseResult ilog::File::DirectoryEnumerator::OnDir (const wxString &
dirname) [inline, virtual]
virtual wxDirTraverseResult ilog::File::DirectoryEnumerator::OnFile (const wxString &
filename) [inline, virtual]
ilog::DragablePropertiesPanel Class Reference #include <dragable_properties_panel.h>
Inheritance diagram for ilog::DragablePropertiesPanel:
Public Member Functions
DragablePropertiesPanel (wxWindow *parent, wxWindowID id, As::FlashInterface::Ptr
flash_interface)
~DragablePropertiesPanel ()
void DisplayPropertiesFor (As::ComponentHandle h_comp)
void OnDragableStatusChange (wxCommandEvent &evt)
Detailed Description
Deprecated:
87
Constructor & Destructor Documentation
ilog::DragablePropertiesPanel::DragablePropertiesPanel (wxWindow * parent, wxWindowID id, As::FlashInterface::Ptr flash_interface)
ilog::DragablePropertiesPanel::~DragablePropertiesPanel ()
Member Function Documentation
void ilog::DragablePropertiesPanel::DisplayPropertiesFor (As::ComponentHandle
h_comp) [virtual]
Display all properties for the given component that the control supports.
Implements ilog::IPropertiesDisplayer (p.132).
void ilog::DragablePropertiesPanel::OnDragableStatusChange (wxCommandEvent & evt)
ilog::DropTargetPropertiesPanel Class Reference #include <drop_target_properties_panel.h>
Inheritance diagram for ilog::DropTargetPropertiesPanel:
Public Member Functions
DropTargetPropertiesPanel (wxWindow *parent, wxWindowID id, As::FlashInterface::Ptr
flash_interface)
~DropTargetPropertiesPanel ()
void DisplayPropertiesFor (As::ComponentHandle h_comp)
void OnDropTargetStatusChange (wxCommandEvent &evt)
Detailed Description
Deprecated:
88
Constructor & Destructor Documentation
ilog::DropTargetPropertiesPanel::DropTargetPropertiesPanel (wxWindow * parent, wxWindowID id, As::FlashInterface::Ptr flash_interface)
ilog::DropTargetPropertiesPanel::~DropTargetPropertiesPanel ()
Member Function Documentation
void ilog::DropTargetPropertiesPanel::DisplayPropertiesFor (As::ComponentHandle
h_comp) [virtual]
Display all properties for the given component that the control supports.
Implements ilog::IPropertiesDisplayer (p.132).
void ilog::DropTargetPropertiesPanel::OnDropTargetStatusChange (wxCommandEvent & evt)
ilog::EditorDocument Class Reference wxDocument subclass for the main IFE 'document'
#include <editor_document.h>
Public Member Functions
EditorDocument ()
~EditorDocument ()
virtual bool OnCloseDocument ()
virtual bool OnNewDocument ()
virtual bool OnOpenDocument (const wxString &filename)
virtual bool OnSaveDocument (const wxString &filename)
Detailed Description
wxDocument subclass for the main IFE 'document'
Constructor & Destructor Documentation
ilog::EditorDocument::EditorDocument ()
ilog::EditorDocument::~EditorDocument ()
89
Member Function Documentation
virtual bool ilog::EditorDocument::OnCloseDocument () [virtual]
virtual bool ilog::EditorDocument::OnNewDocument () [virtual]
virtual bool ilog::EditorDocument::OnOpenDocument (const wxString & filename) [virtual]
virtual bool ilog::EditorDocument::OnSaveDocument (const wxString & filename) [virtual]
ilog::EditorPanel Class Reference The central panel containing the Flash slide editor.
#include <editor_panel.h>
Public Member Functions
EditorPanel (wxWindow *parent, wxWindowID id, As::FlashInterfaceReadyHandler ready_handler,
const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=0, const
wxString &name=wxPanelNameStr)
~EditorPanel ()
void OnContextMenu (wxContextMenuEvent &evt)
void OnContextMenuBringToFront (wxCommandEvent &evt)
void OnContextMenuCopy (wxCommandEvent &evt)
void OnContextMenuCut (wxCommandEvent &evt)
void OnContextMenuDelete (wxCommandEvent &evt)
void OnContextMenuDeleteInteraction (wxCommandEvent &evt)
void OnContextMenuMoveBack (wxCommandEvent &evt)
void OnContextMenuMoveForward (wxCommandEvent &evt)
void OnContextMenuPaste (wxCommandEvent &evt)
void OnContextMenuProperties (wxCommandEvent &evt)
void OnContextMenuSendToBack (wxCommandEvent &evt)
void OnContextInsertButton (wxCommandEvent &evt)
void OnContextInsertCheckBox (wxCommandEvent &evt)
void OnContextInsertComboBox (wxCommandEvent &evt)
void OnContextInsertContainer_BoxLayout (wxCommandEvent &evt)
void OnContextInsertContainer_Canvas (wxCommandEvent &evt)
void OnContextInsertContainer_TileLayout (wxCommandEvent &evt)
void OnContextInsertImage (wxCommandEvent &evt)
void OnContextInsertRadioButton (wxCommandEvent &evt)
void OnContextInsertText (wxCommandEvent &evt)
void OnContextInsertTextArea (wxCommandEvent &evt)
void OnContextInsertInteraction (wxCommandEvent &evt)
void SetCommandProcessor (wxCommandProcessor *cmd_proc)
As::FlashInterface::Ptr GetFlashInterface ()
90
Detailed Description
The central panel containing the Flash slide editor.
Constructor & Destructor Documentation
ilog::EditorPanel::EditorPanel (wxWindow * parent, wxWindowID id, As::FlashInterfaceReadyHandler ready_handler, const wxPoint & pos =
wxDefaultPosition, const wxSize & size = wxDefaultSize, long style = 0, const
wxString & name = wxPanelNameStr)
Constructor.
See wxPanel documentation for the meaning of parameters.
Parameters:
f The callback function to notify when the Actionscript interface is ready to receive commands.
ilog::EditorPanel::~EditorPanel ()
Member Function Documentation
As::FlashInterface::Ptr ilog::EditorPanel::GetFlashInterface () [inline]
Get the FlashInterface associated with the editor panel.
91
void ilog::EditorPanel::OnContextInsertButton (wxCommandEvent & evt)
void ilog::EditorPanel::OnContextInsertCheckBox (wxCommandEvent & evt)
void ilog::EditorPanel::OnContextInsertComboBox (wxCommandEvent & evt)
void ilog::EditorPanel::OnContextInsertContainer_BoxLayout (wxCommandEvent & evt)
void ilog::EditorPanel::OnContextInsertContainer_Canvas (wxCommandEvent & evt)
void ilog::EditorPanel::OnContextInsertContainer_TileLayout (wxCommandEvent & evt)
void ilog::EditorPanel::OnContextInsertImage (wxCommandEvent & evt)
void ilog::EditorPanel::OnContextInsertInteraction (wxCommandEvent & evt)
void ilog::EditorPanel::OnContextInsertRadioButton (wxCommandEvent & evt)
void ilog::EditorPanel::OnContextInsertText (wxCommandEvent & evt)
void ilog::EditorPanel::OnContextInsertTextArea (wxCommandEvent & evt)
void ilog::EditorPanel::OnContextMenu (wxContextMenuEvent & evt)
void ilog::EditorPanel::OnContextMenuBringToFront (wxCommandEvent & evt)
void ilog::EditorPanel::OnContextMenuCopy (wxCommandEvent & evt)
void ilog::EditorPanel::OnContextMenuCut (wxCommandEvent & evt)
void ilog::EditorPanel::OnContextMenuDelete (wxCommandEvent & evt)
void ilog::EditorPanel::OnContextMenuDeleteInteraction (wxCommandEvent & evt)
void ilog::EditorPanel::OnContextMenuMoveBack (wxCommandEvent & evt)
void ilog::EditorPanel::OnContextMenuMoveForward (wxCommandEvent & evt)
void ilog::EditorPanel::OnContextMenuPaste (wxCommandEvent & evt)
void ilog::EditorPanel::OnContextMenuProperties (wxCommandEvent & evt)
void ilog::EditorPanel::OnContextMenuSendToBack (wxCommandEvent & evt)
void ilog::EditorPanel::SetCommandProcessor (wxCommandProcessor * cmd_proc) [inline]
Sets the panel's internal pointer to reference the command processor intance provided.
The command processor is initialized after the editor panel, but the Flash interface needs a
pointer to it, so this method must be called as soon as the command processor is available to
update the Flash interface's reference.
92
ilog::EditorView Class Reference wxView subclass for the main 'editor' view.
#include <editor_view.h>
Public Member Functions
EditorView ()
~EditorView ()
bool OnCreate (wxDocument *doc, long flags)
void OnDraw (wxDC *dc)
void OnUpdate (wxView *sender, wxObject *hint=(wxObject *) NULL)
bool OnClose (bool deleteWindow=true)
As::FlashInterface::Ptr GetFlashInterface ()
Detailed Description
wxView subclass for the main 'editor' view.
Constructor & Destructor Documentation
ilog::EditorView::EditorView ()
ilog::EditorView::~EditorView ()
Member Function Documentation
As::FlashInterface::Ptr ilog::EditorView::GetFlashInterface () [inline]
bool ilog::EditorView::OnClose (bool deleteWindow = true)
bool ilog::EditorView::OnCreate (wxDocument * doc, long flags)
void ilog::EditorView::OnDraw (wxDC * dc)
void ilog::EditorView::OnUpdate (wxView * sender, wxObject * hint = (wxObject *)
NULL)
ilog::qti::Element Class Reference The root of the QTI XML element hierarchy.
#include <base.h>
Inheritance diagram for ilog::qti::Element:
94
Public Types
typedef shared_ptr< Element > Ptr
Public Member Functions
virtual ~Element ()
virtual wxString GetName () const =0
std::vector< Element::Ptr > GetChildren () const
Element::Ptr GetDeepestAncestorOfType (const wxString &type)
bool HasAncestorOfType (const wxString &type)
Element::Ptr GetParent () const
void SetParent (Element::Ptr parent)
virtual bool IsInstantiable () const
virtual bool IsValid () const
virtual wxXmlNode * Serialize () const
Protected Member Functions
Element ()
void AddChild (Element::Ptr child)
void RemoveChild (Element::Ptr child)
Detailed Description
The root of the QTI XML element hierarchy.
Member Typedef Documentation
typedef shared_ptr<Element> ilog::qti::Element::Ptr
Reimplemented from ilog::qti::ISerializable (p.135).
Reimplemented in ilog::qti::BodyElement (p.55), ilog::qti::Interaction (p.128),
ilog::qti::ObjectFlow (p.166), ilog::qti::Flow (p.108), ilog::qti::FlowStatic (p.110), ilog::qti::Inline
(p.125), ilog::qti::InlineStatic (p.126), ilog::qti::Prompt (p.173), ilog::qti::SimpleInline (p.201),
ilog::qti::Block (p.52), ilog::qti::BlockInteraction (p.53), ilog::qti::TextRun (p.209),
ilog::qti::Span (p.206), ilog::qti::Choice (p.62), ilog::qti::SimpleChoice (p.199),
ilog::qti::AssociableChoice (p.49), ilog::qti::SimpleAssociableChoice (p.197),
ilog::qti::SimpleMatchSet (p.203), ilog::qti::ChoiceInteraction (p.65), ilog::qti::MatchInteraction
(p.148), ilog::qti::VariableDeclaration (p.216), ilog::qti::CorrectResponse (p.83),
ilog::qti::Mapping (p.141), ilog::qti::ResponseDeclaration (p.183), ilog::qti::ItemBody (p.138),
ilog::qti::AssessmentItem (p.45), ilog::qti::Expression (p.100), ilog::qti::BaseValue (p.51),
ilog::qti::Correct (p.81), ilog::qti::IsNull (p.137), ilog::qti::MapResponse (p.144),
ilog::qti::Match (p.145), ilog::qti::Variable (p.214), ilog::qti::OutcomeRule (p.169),
ilog::qti::ResponseRule (p.192), ilog::qti::ResponseIf (p.188), ilog::qti::ResponseElseIf (p.187),
ilog::qti::ResponseElse (p.185), ilog::qti::ResponseCondition (p.181), ilog::qti::SetOutcomeValue
(p.194), and ilog::qti::ResponseProcessing (p.190).
95
Constructor & Destructor Documentation
virtual ilog::qti::Element::~Element () [inline, virtual]
ilog::qti::Element::Element () [inline, protected]
Member Function Documentation
void ilog::qti::Element::AddChild (Element::Ptr child) [inline, protected]
std::vector<Element::Ptr> ilog::qti::Element::GetChildren () const [inline]
Get all child elements of this element.
Element::Ptr ilog::qti::Element::GetDeepestAncestorOfType (const wxString & type) [inline]
Get the deepest (i.e.
closest) ancestor node of the given type.
virtual wxString ilog::qti::Element::GetName () const [pure virtual]
This pure virtual method allows abstract base classes to know the name of the XML element
that represents their concrete descendants.
It should only be implemented in classes that correspond to a concrete (non-abstract) QTI
element.
Implemented in ilog::qti::Prompt (p.173), ilog::qti::TextRun (p.210), ilog::qti::Span (p.207),
ilog::qti::SimpleChoice (p.200), ilog::qti::SimpleAssociableChoice (p.198),
ilog::qti::SimpleMatchSet (p.203), ilog::qti::ChoiceInteraction (p.65), ilog::qti::MatchInteraction
(p.148), ilog::qti::CorrectResponse (p.84), ilog::qti::Mapping (p.142),
ilog::qti::ResponseDeclaration (p.184), ilog::qti::ItemBody (p.139), ilog::qti::AssessmentItem
(p.45), ilog::qti::BaseValue (p.51), ilog::qti::Correct (p.82), ilog::qti::IsNull (p.137),
ilog::qti::MapResponse (p.144), ilog::qti::Match (p.146), ilog::qti::Variable (p.215),
ilog::qti::ResponseIf (p.189), ilog::qti::ResponseElseIf (p.187), ilog::qti::ResponseElse (p.186),
ilog::qti::ResponseCondition (p.181), ilog::qti::SetOutcomeValue (p.195), and
ilog::qti::ResponseProcessing (p.191).
Element::Ptr ilog::qti::Element::GetParent () const [inline]
Get the parent element of this element.
bool ilog::qti::Element::HasAncestorOfType (const wxString & type) [inline]
Does the element have an ancestor of the given type?
virtual bool ilog::qti::Element::IsInstantiable () const [inline, virtual]
This method should be overriden to return 'true' if the element can be instantiated as a
graphical component (i.e.
it is a non-abstract QTI element). Instantiable elements should also implement the
'IInstantiable' interface.
Reimplemented in ilog::qti::BodyElement (p.57), ilog::qti::ChoiceInteraction (p.66), and
ilog::qti::MatchInteraction (p.149).
96
virtual bool ilog::qti::Element::IsValid () const [inline, virtual]
This method should return true if and only if all required attributes of the element are fully
specified and all specified attributes are valid (i.e.
identifiers are unique, strings of type 'String256' are less than 256 characters long, etc.).
Reimplemented in ilog::qti::VariableDeclaration (p.217).
void ilog::qti::Element::RemoveChild (Element::Ptr child) [inline, protected]
virtual wxXmlNode* ilog::qti::Element::Serialize () const [inline, virtual]
Implements ilog::qti::ISerializable (p.136).
Reimplemented in ilog::qti::BodyElement (p.57), ilog::qti::Interaction (p.128), ilog::qti::Flow
(p.109), ilog::qti::Prompt (p.173), ilog::qti::SimpleInline (p.202), ilog::qti::BlockInteraction
(p.54), ilog::qti::TextRun (p.210), ilog::qti::Span (p.207), ilog::qti::Choice (p.63),
ilog::qti::SimpleChoice (p.200), ilog::qti::AssociableChoice (p.50),
ilog::qti::SimpleAssociableChoice (p.198), ilog::qti::SimpleMatchSet (p.204),
ilog::qti::ChoiceInteraction (p.66), ilog::qti::MatchInteraction (p.149),
ilog::qti::VariableDeclaration (p.217), ilog::qti::CorrectResponse (p.84), ilog::qti::Mapping
(p.142), ilog::qti::ResponseDeclaration (p.184), ilog::qti::ItemBody (p.139),
ilog::qti::AssessmentItem (p.46), ilog::qti::BaseValue (p.51), ilog::qti::Correct (p.82),
ilog::qti::IsNull (p.137), ilog::qti::MapResponse (p.144), ilog::qti::Match (p.146),
ilog::qti::Variable (p.215), ilog::qti::ResponseIf (p.189), ilog::qti::ResponseElse (p.186),
ilog::qti::ResponseCondition (p.182), ilog::qti::SetOutcomeValue (p.195), and
ilog::qti::ResponseProcessing (p.191).
void ilog::qti::Element::SetParent (Element::Ptr parent) [inline]
Set the parent element of this node.
ilog::As::Error Class Reference
#include <exceptions.h>
Inheritance diagram for ilog::As::Error:
97
Public Member Functions
Error (const wxString &what)
Constructor & Destructor Documentation
ilog::As::Error::Error (const wxString & what) [inline]
ilog::As::EventAction Struct Reference
#include <component_extra_properties.h>
98
Public Member Functions
EventAction ()
EventAction (const EventAction &that)
EventAction (const wxString &event_name, const wxString &action)
EventAction (const wxString &event_name, const wxString &action, wxString single_arg)
EventAction (const wxString &event_name, const wxString &action, const std::vector< wxString >
&arguments)
Public Attributes
wxString EventName
wxString Action
std::vector< wxString > Arguments
Constructor & Destructor Documentation
ilog::As::EventAction::EventAction () [inline]
ilog::As::EventAction::EventAction (const EventAction & that) [inline]
ilog::As::EventAction::EventAction (const wxString & event_name, const wxString &
action) [inline]
ilog::As::EventAction::EventAction (const wxString & event_name, const wxString &
action, wxString single_arg) [inline]
ilog::As::EventAction::EventAction (const wxString & event_name, const wxString &
action, const std::vector< wxString > & arguments) [inline]
Member Data Documentation
wxString ilog::As::EventAction::Action
std::vector<wxString> ilog::As::EventAction::Arguments
wxString ilog::As::EventAction::EventName
ilog::ExecuteOnExit Class Reference Executes a given parameterless function on block exit.
#include <execute_on_exit.h>
Public Types
typedef boost::function< void()> VoidFunc
99
Public Member Functions
ExecuteOnExit (VoidFunc func)
~ExecuteOnExit ()
Detailed Description
Executes a given parameterless function on block exit.
Member Typedef Documentation
typedef boost::function<void()> ilog::ExecuteOnExit::VoidFunc
Constructor & Destructor Documentation
ilog::ExecuteOnExit::ExecuteOnExit (VoidFunc func) [inline]
ilog::ExecuteOnExit::~ExecuteOnExit () [inline]
ilog::qti::ExitResponse Class Reference #include <response_processing.h>
Inheritance diagram for ilog::qti::ExitResponse:
ilog::qti::Expression Class Reference #include <expression.h>
Inheritance diagram for ilog::qti::Expression:
100
Public Types
typedef shared_ptr< Expression > Ptr
Static Public Member Functions
static Ptr CreateFromXml (const wxXmlNode *root_node)
Member Typedef Documentation
typedef shared_ptr<Expression> ilog::qti::Expression::Ptr
Reimplemented from ilog::qti::Element (p.94).
Reimplemented in ilog::qti::BaseValue (p.51), ilog::qti::Correct (p.81), ilog::qti::IsNull (p.137),
ilog::qti::MapResponse (p.144), ilog::qti::Match (p.145), and ilog::qti::Variable (p.214).
Member Function Documentation
static Ptr ilog::qti::Expression::CreateFromXml (const wxXmlNode * root_node) [static]
FileDeleter Class Reference Deletes a file on scope exit.
#include <file_deleter.h>
Public Member Functions
FileDeleter (wxFileName file)
~FileDeleter ()
Detailed Description
Deletes a file on scope exit.
101
Constructor & Destructor Documentation
FileDeleter::FileDeleter (wxFileName file) [inline, explicit]
FileDeleter::~FileDeleter () [inline]
ilog::FileFormatException Class Reference Exception representing a mal-formatted input file.
#include <file_exception.h>
Inherits std::runtime_error.Public Member Functions
FileFormatException (const wxString &what) throw ()
virtual ~FileFormatException () throw ()
Detailed Description
Exception representing a mal-formatted input file.
Constructor & Destructor Documentation
ilog::FileFormatException::FileFormatException (const wxString & what) throw () [inline]
virtual ilog::FileFormatException::~FileFormatException () throw () [inline, virtual]
ilog::FileIoException Class Reference Exception representing attempted access to a non-existant or otherwise unusable file.
#include <file_exception.h>
Inherits std::runtime_error.Public Member Functions
FileIoException (const wxString &what) throw ()
virtual ~FileIoException () throw ()
Detailed Description
Exception representing attempted access to a non-existant or otherwise unusable file.
102
Constructor & Destructor Documentation
ilog::FileIoException::FileIoException (const wxString & what) throw () [inline]
virtual ilog::FileIoException::~FileIoException () throw () [inline, virtual]
ilog::FlashCommunicationException Class Reference Exception class thrown by Flash <-> C++ communication operations.
#include <i_flash_player.h>
Inherits std::runtime_error.Public Member Functions
FlashCommunicationException (const wxString &cause)
Detailed Description
Exception class thrown by Flash <-> C++ communication operations.
Constructor & Destructor Documentation
ilog::FlashCommunicationException::FlashCommunicationException (const wxString &
cause) [inline]
ilog::As::FlashInterface Class Reference Container class representing the Actionscript functions exposed in the editor's Flash code.
#include <flash_interface.h>
Classes
class _Application
Contains functions for interacting with the application.
class _Components
Contains functions that deal with Flash components.
class _Qti
Contains functions for dealing with componetns that are mapped to QTI elements.
class _Slides
Contains functions for dealing with Slide components.
Public Types
typedef shared_ptr< FlashInterface > Ptr
103
Public Member Functions
~FlashInterface ()
FlashInterface::Ptr GetSharedFromThis ()
bool IsReady () const
void Reset ()
Static Public Member Functions
static FlashInterface::Ptr Create (IFlashPlayer *flash_player, wxCommandProcessor *&cmd_proc,
FlashInterfaceReadyHandler f)
Public Attributes
_Components Components
_Slides Slides
_Application Application
_Qti Qti
Friends
class ComponentHandle
class _Components
class _Interactions
Detailed Description
Container class representing the Actionscript functions exposed in the editor's Flash code.
Member Typedef Documentation
typedef shared_ptr<FlashInterface> ilog::As::FlashInterface::Ptr
Constructor & Destructor Documentation
ilog::As::FlashInterface::~FlashInterface ()
Member Function Documentation
static FlashInterface::Ptr ilog::As::FlashInterface::Create (IFlashPlayer * flash_player,
wxCommandProcessor *& cmd_proc, FlashInterfaceReadyHandler f) [static]
Static factory method.
The reference-to-pointer for 'cmd_proc' is necessary because the command processor has not
been instantiated yet when the FlashInterface is created, so a value copy of the (NULL)
pointer won't work.
104
FlashInterface::Ptr ilog::As::FlashInterface::GetSharedFromThis () [inline]
bool ilog::As::FlashInterface::IsReady () const [inline]
Indicates functions can be safely called on the Flash interface.
void ilog::As::FlashInterface::Reset () [inline]
Reset the Flash interface object.
Clears the property cache and calles Application.Reset().
Friends And Related Function Documentation
friend class _Components [friend]
friend class _Interactions [friend]
friend class ComponentHandle [friend]
Member Data Documentation
_Application ilog::As::FlashInterface::Application
_Components ilog::As::FlashInterface::Components
_Qti ilog::As::FlashInterface::Qti
_Slides ilog::As::FlashInterface::Slides
ilog::FlashPlayerCtrl Class Reference Base class for objects which wrap a Flash player.
#include <flash_player_ctrl.h>
Inheritance diagram for ilog::FlashPlayerCtrl:
Public Member Functions
FlashPlayerCtrl (wxWindow *parent, wxWindowID id, const wxPoint &pos=wxDefaultPosition,
const wxSize &size=wxDefaultSize, long style=0, const wxString &name=wxPanelNameStr)
105
virtual ~FlashPlayerCtrl ()
void AddReadyStateListener (ReadyStateListener listener)
bool ExposeCppFunction (const wxString &name, FlashExportFunction func)
bool RemoveCppFunction (const wxString &name)
bool HasExposedCppFunction (const wxString &name)
void OnRightMouseDown (wxMouseEvent &evt)
As::AnyType CallFunction (const wxString &func_name)
As::AnyType CallFunction (const wxString &func_name, As::AnyType arg1)
As::AnyType CallFunction (const wxString &func_name, As::AnyType arg1, As::AnyType arg2)
As::AnyType CallFunction (const wxString &func_name, As::AnyType arg1, As::AnyType arg2,
As::AnyType arg3)
As::AnyType CallFunction (const wxString &func_name, As::AnyType arg1, As::AnyType arg2,
As::AnyType arg3, As::AnyType arg4)
As::AnyType CallFunction (const wxString &func_name, As::AnyType arg1, As::AnyType arg2,
As::AnyType arg3, As::AnyType arg4, As::AnyType arg5)
As::AnyType CallFunction (const wxString &func_name, const As::AnyTypeVector &args)
Protected Member Functions
virtual wxString DoFlashCall (const wxString &xml)=0
void ProcessFlashRequest (const wxString &xml_request)
void ProcessFlashReadyStateChange (int new_state)
Detailed Description
Base class for objects which wrap a Flash player.
Create a subclass to wrap a platform-specific Flash player interface. Implementations must call
the protected "ProcessXXX" methods as appropriate in response to Flash player requests.
If you don't want the default Flash player context menu to pop up when the user right-clicks,
redirect event handling from whatever control you use to display the Flash player by calling its
SetEventHandler method as the last line in your constructor and passing this as the
argument.
Constructor & Destructor Documentation
ilog::FlashPlayerCtrl::FlashPlayerCtrl (wxWindow * parent, wxWindowID id, const
wxPoint & pos = wxDefaultPosition, const wxSize & size = wxDefaultSize, long
style = 0, const wxString & name = wxPanelNameStr)
Constructor.
See wxPanel for parameter descriptions.
virtual ilog::FlashPlayerCtrl::~FlashPlayerCtrl () [virtual]
Destructor.
Base class implementation does nothing.
106
Member Function Documentation
void ilog::FlashPlayerCtrl::AddReadyStateListener (ReadyStateListener listener) [virtual]
Adds a callback function that will receive Flash ready state change events.
Implements ilog::IFlashPlayer (p.117).
As::AnyType ilog::FlashPlayerCtrl::CallFunction (const wxString & func_name, const
As::AnyTypeVector & args) [virtual]
Call the given function with the given arguments.
Implements ilog::IFlashPlayer (p.117).
As::AnyType ilog::FlashPlayerCtrl::CallFunction (const wxString & func_name, As::AnyType arg1, As::AnyType arg2, As::AnyType arg3, As::AnyType arg4,
As::AnyType arg5) [virtual]
Call the given function with the given arguments. Delegates to 'vector' overload.
Implements ilog::IFlashPlayer (p.117).
As::AnyType ilog::FlashPlayerCtrl::CallFunction (const wxString & func_name, As::AnyType arg1, As::AnyType arg2, As::AnyType arg3, As::AnyType arg4) [virtual]
Call the given function with the given arguments. Delegates to 'vector' overload.
Implements ilog::IFlashPlayer (p.117).
As::AnyType ilog::FlashPlayerCtrl::CallFunction (const wxString & func_name,
As::AnyType arg1, As::AnyType arg2, As::AnyType arg3) [virtual]
Call the given function with the given arguments. Delegates to 'vector' overload.
Implements ilog::IFlashPlayer (p.117).
As::AnyType ilog::FlashPlayerCtrl::CallFunction (const wxString & func_name,
As::AnyType arg1, As::AnyType arg2) [virtual]
Call the given function with the given arguments. Delegates to 'vector' overload.
Implements ilog::IFlashPlayer (p.117).
As::AnyType ilog::FlashPlayerCtrl::CallFunction (const wxString & func_name,
As::AnyType arg1) [virtual]
Call the given function with the given argument. Delegates to 'vector' overload.
Implements ilog::IFlashPlayer (p.118).
107
As::AnyType ilog::FlashPlayerCtrl::CallFunction (const wxString & func_name) [virtual]
Call the given function with no arguments. Delegates to 'vector' overload.
Implements ilog::IFlashPlayer (p.118).
virtual wxString ilog::FlashPlayerCtrl::DoFlashCall (const wxString & xml) [protected, pure virtual]
Call a Flash player function.
All that the implementor needs to do is to forward the request to the Flash player in a
platform-dependent manner and return the xml string received from Flash. No other
processing should be done.
Implemented in ilog::Msw_FlashPlayerCtrl (p.155).
bool ilog::FlashPlayerCtrl::ExposeCppFunction (const wxString & name,
FlashExportFunction func) [virtual]
Makes a C++ function callable from Flash with the specified name.
Implements ilog::IFlashPlayer (p.118).
bool ilog::FlashPlayerCtrl::HasExposedCppFunction (const wxString & name) [virtual]
Checks whether a C++ function has already been exposed with the specified name.
Implements ilog::IFlashPlayer (p.119).
void ilog::FlashPlayerCtrl::OnRightMouseDown (wxMouseEvent & evt)
Event handler for right mouse clicks.
Used to bypass the Flash player's default context menu in order to use an OS-native one
instead.
void ilog::FlashPlayerCtrl::ProcessFlashReadyStateChange (int new_state) [protected]
Dispatches a Flash ready-state-changed event to all registered listeners.
This method must be called by the implementation when the ready state of the Flash player
changes.
void ilog::FlashPlayerCtrl::ProcessFlashRequest (const wxString & xml_request) [protected]
Parses and dispatches a Flash -> CPP function call.
This method must be called by the implementation in reponse to an event generated by the
Flash player. Simply pass the request string through to this method when it is received from
the Flash player.
bool ilog::FlashPlayerCtrl::RemoveCppFunction (const wxString & name) [virtual]
Removes a previously exposed C++ function.
Implements ilog::IFlashPlayer (p.119).
108
ilog::qti::Flow Class Reference #include <content_model.h>
Inheritance diagram for ilog::qti::Flow:
Public Types
typedef shared_ptr< Flow > Ptr
Public Member Functions
Uri GetBase () const
void SetBase (Uri base)
virtual wxXmlNode * Serialize () const
void InitializeFromXml (const wxXmlNode *root_node)
Static Public Member Functions
static Ptr CreateFromXml (const wxXmlNode *root_node)
Protected Member Functions
Flow (Uri base=Uri())
Flow (const wxXmlNode *root_node)
Member Typedef Documentation
typedef shared_ptr<Flow> ilog::qti::Flow::Ptr
Reimplemented from ilog::qti::ObjectFlow (p.166).
109
Reimplemented in ilog::qti::FlowStatic (p.110), ilog::qti::SimpleInline (p.201),
ilog::qti::BlockInteraction (p.53), ilog::qti::TextRun (p.209), ilog::qti::Span (p.206),
ilog::qti::ChoiceInteraction (p.65), and ilog::qti::MatchInteraction (p.148).
Constructor & Destructor Documentation
ilog::qti::Flow::Flow (Uri base = Uri()) [explicit, protected]
ilog::qti::Flow::Flow (const wxXmlNode * root_node) [explicit, protected]
Member Function Documentation
static Ptr ilog::qti::Flow::CreateFromXml (const wxXmlNode * root_node) [static]
Reimplemented from ilog::qti::ObjectFlow (p.166).
Reimplemented in ilog::qti::FlowStatic (p.111), ilog::qti::SimpleInline (p.202), and
ilog::qti::BlockInteraction (p.54).
Uri ilog::qti::Flow::GetBase () const [inline]
void ilog::qti::Flow::InitializeFromXml (const wxXmlNode * root_node) [virtual]
Reimplemented from ilog::qti::ISerializable (p.135).
Reimplemented in ilog::qti::FlowStatic (p.111), ilog::qti::SimpleInline (p.202),
ilog::qti::BlockInteraction (p.54), ilog::qti::TextRun (p.210), ilog::qti::Span (p.207),
ilog::qti::ChoiceInteraction (p.65), and ilog::qti::MatchInteraction (p.148).
virtual wxXmlNode* ilog::qti::Flow::Serialize () const [virtual]
Reimplemented from ilog::qti::Element (p.96).
Reimplemented in ilog::qti::SimpleInline (p.202), ilog::qti::BlockInteraction (p.54),
ilog::qti::TextRun (p.210), ilog::qti::Span (p.207), ilog::qti::ChoiceInteraction (p.66), and
ilog::qti::MatchInteraction (p.149).
void ilog::qti::Flow::SetBase (Uri base) [inline]
ilog::qti::FlowStatic Class Reference #include <content_model.h>
Inheritance diagram for ilog::qti::FlowStatic:
110
Public Types
typedef shared_ptr< FlowStatic > Ptr
Public Member Functions
void InitializeFromXml (const wxXmlNode *root_node)
Static Public Member Functions
static Ptr CreateFromXml (const wxXmlNode *root_node)
Protected Member Functions
FlowStatic (Uri base=Uri())
FlowStatic (const wxXmlNode *root_node)
Member Typedef Documentation
typedef shared_ptr<FlowStatic> ilog::qti::FlowStatic::Ptr
Reimplemented from ilog::qti::Flow (p.108).
Reimplemented in ilog::qti::SimpleInline (p.201), ilog::qti::TextRun (p.209), and ilog::qti::Span
(p.206).
111
Constructor & Destructor Documentation
ilog::qti::FlowStatic::FlowStatic (Uri base = Uri()) [inline, explicit, protected]
ilog::qti::FlowStatic::FlowStatic (const wxXmlNode * root_node) [explicit, protected]
Member Function Documentation
static Ptr ilog::qti::FlowStatic::CreateFromXml (const wxXmlNode * root_node) [static]
Reimplemented from ilog::qti::Flow (p.109).
Reimplemented in ilog::qti::SimpleInline (p.202).
void ilog::qti::FlowStatic::InitializeFromXml (const wxXmlNode * root_node) [virtual]
Reimplemented from ilog::qti::Flow (p.109).
Reimplemented in ilog::qti::SimpleInline (p.202), ilog::qti::TextRun (p.210), and ilog::qti::Span
(p.207).
ilog::FontProperty Class Reference
#include <font_property.h>
Public Member Functions
FontProperty (const wxString &label=wxPG_LABEL, const wxString &name=wxPG_LABEL, const
wxFont &init_font=wxFont(), const wxColour &init_color=*wxBLACK)
virtual ~FontProperty ()
virtual void OnSetValue ()
virtual wxString GetValueAsString (int argFlags=0) const
Constructor & Destructor Documentation
ilog::FontProperty::FontProperty (const wxString & label = wxPG_LABEL, const wxString
& name = wxPG_LABEL, const wxFont & init_font = wxFont(), const wxColour &
init_color = *wxBLACK)
virtual ilog::FontProperty::~FontProperty () [virtual]
112
Member Function Documentation
virtual wxString ilog::FontProperty::GetValueAsString (int argFlags = 0) const [virtual]
virtual void ilog::FontProperty::OnSetValue () [virtual]
ilog::FunctionCall Struct Reference Represents a function call passed from Flash to C++.
#include <flash_player_ctrl.h>
Public Member Functions
FunctionCall (const wxString &name, const As::AnyTypeVector &args)
Public Attributes
wxString Name
As::AnyTypeVector Arguments
Detailed Description
Represents a function call passed from Flash to C++.
Constructor & Destructor Documentation
ilog::FunctionCall::FunctionCall (const wxString & name, const As::AnyTypeVector & args) [inline]
Member Data Documentation
As::AnyTypeVector ilog::FunctionCall::Arguments
wxString ilog::FunctionCall::Name
ilog::GeneralPropertiesPanel Class Reference #include <general_properties_panel.h>
Inheritance diagram for ilog::GeneralPropertiesPanel:
113
Public Member Functions
GeneralPropertiesPanel (wxWindow *parent, wxWindowID id, As::FlashInterface::Ptr
flash_interface)
~GeneralPropertiesPanel ()
void DisplayPropertiesFor (As::ComponentHandle h_comp)
void EnableEditing (bool enable=true)
void OnGridCellChanged (wxGridEvent &evt)
Detailed Description
Deprecated:
Constructor & Destructor Documentation
ilog::GeneralPropertiesPanel::GeneralPropertiesPanel (wxWindow * parent, wxWindowID id, As::FlashInterface::Ptr flash_interface)
ilog::GeneralPropertiesPanel::~GeneralPropertiesPanel ()
Member Function Documentation
void ilog::GeneralPropertiesPanel::DisplayPropertiesFor (As::ComponentHandle h_comp) [virtual]
Display all properties for the given component that the control supports.
Implements ilog::IPropertiesDisplayer (p.132).
void ilog::GeneralPropertiesPanel::EnableEditing (bool enable = true)
void ilog::GeneralPropertiesPanel::OnGridCellChanged (wxGridEvent & evt)
ilog::IdGenerator Class Reference An object that generates unique numeric identifiers.
114
#include <id_generator.h>
Public Types
typedef As::UInt IdType
Public Member Functions
IdGenerator ()
size_t GetAssignedIdCount () const
bool HasNextId () const
bool IsAssignedId (IdType id)
IdType NextId ()
void RecycleId (IdType id)
bool RequestId (IdType id)
void Reset ()
Static Public Attributes
static const IdType INVALID = 0
static const IdType FIRST_ID = 1
static const IdType LAST_ID = As::AS_UINT_MAX
static const size_t MAX_ID_COUNT = LAST_ID - FIRST_ID
Detailed Description
An object that generates unique numeric identifiers.
Member Typedef Documentation
typedef As::UInt ilog::IdGenerator::IdType
Constructor & Destructor Documentation
ilog::IdGenerator::IdGenerator () [inline]
Member Function Documentation
size_t ilog::IdGenerator::GetAssignedIdCount () const [inline]
Get the count of ID values that have been issued.
bool ilog::IdGenerator::HasNextId () const [inline]
Is another valid ID available.
bool ilog::IdGenerator::IsAssignedId (IdType id) [inline]
Has the given ID been assigned?
115
IdType ilog::IdGenerator::NextId () [inline]
Get a unique ID value.
void ilog::IdGenerator::RecycleId (IdType id) [inline]
Put the specified ID back into circulation.
bool ilog::IdGenerator::RequestId (IdType id) [inline]
Request that the ID generator allocate the specified ID.
Returns:
True iff the request was granted.
void ilog::IdGenerator::Reset () [inline]
Reset the generator.
Member Data Documentation
const IdType ilog::IdGenerator::FIRST_ID = 1 [static]
The first valid ID value.
const IdType ilog::IdGenerator::INVALID = 0 [static]
The special ID value indicating an invalid id.
const IdType ilog::IdGenerator::LAST_ID = As::AS_UINT_MAX [static]
The last valid ID value.
const size_t ilog::IdGenerator::MAX_ID_COUNT = LAST_ID - FIRST_ID [static]
The maximum number of valid IDs.
ilog::IFlashPlayer Class Reference The interface for an Adobe Flash player.
#include <i_flash_player.h>
Inheritance diagram for ilog::IFlashPlayer:
116
Public Member Functions
virtual void AddReadyStateListener (ReadyStateListener listener)=0
virtual bool ExposeCppFunction (const wxString &name, FlashExportFunction func)=0
virtual bool RemoveCppFunction (const wxString &name)=0
virtual bool HasExposedCppFunction (const wxString &name)=0
virtual As::AnyType CallFunction (const wxString &func_name)=0
virtual As::AnyType CallFunction (const wxString &func_name, As::AnyType arg1)=0
virtual As::AnyType CallFunction (const wxString &func_name, As::AnyType arg1, As::AnyType
arg2)=0
virtual As::AnyType CallFunction (const wxString &func_name, As::AnyType arg1, As::AnyType
arg2, As::AnyType arg3)=0
virtual As::AnyType CallFunction (const wxString &func_name, As::AnyType arg1, As::AnyType
arg2, As::AnyType arg3, As::AnyType arg4)=0
virtual As::AnyType CallFunction (const wxString &func_name, As::AnyType arg1, As::AnyType
arg2, As::AnyType arg3, As::AnyType arg4, As::AnyType arg5)=0
virtual As::AnyType CallFunction (const wxString &func_name, const As::AnyTypeVector
&args)=0
virtual As::AnyType GetVariable (const wxString &var_name)=0
virtual void GotoFrame (int frame_num)=0
virtual bool IsPlaying ()=0
virtual void LoadMovie (int layer, const wxString &url)=0
virtual void Pan (int x, int y, int mode)=0
virtual int PercentLoaded ()=0
virtual void Play ()=0
virtual void Rewind ()=0
virtual void SetVariable (const wxString &var_name, const wxString &value)=0
virtual void SetZoomRect (int left, int top, int right, int bottom)=0
virtual void StopPlay ()=0
virtual int TotalFrames ()=0
virtual void Zoom (int percent)=0
virtual void TCallFrame (const wxString &target, int frame_num)=0
virtual void TCallLabel (const wxString &target, const wxString &label)=0
virtual int TCurrentFrame (const wxString &target)=0
virtual wxString TCurrentLabel (const wxString &target)=0
virtual wxString TGetProperty (const wxString &target, int property)=0
virtual int TGetPropertyAsNumber (const wxString &target, int property)=0
virtual void TGotoFrame (const wxString &target, int frame_num)=0
virtual void TGotoLabel (const wxString &target, const wxString &label)=0
virtual void TPlay (const wxString &target)=0
virtual void TSetProperty (const wxString &target, int property, const wxString &value)=0
virtual void TSetProperty (const wxString &target, int property, int value)=0
virtual void TStopPlay (const wxString &target)=0
virtual int Get_ReadyState ()=0
virtual int Get_TotalFrames ()=0
virtual int Get_FrameNum ()=0
virtual void Set_FrameNum (int frame_num)=0
virtual bool Get_Playing ()=0
virtual void Set_Playing (bool playing)=0
virtual int Get_Quality ()=0
virtual void Set_Quality (int quality)=0
virtual int Get_ScaleMode ()=0
virtual void Set_ScaleMode (int mode)=0
117
virtual int Get_AlignMode ()=0
virtual void Set_AlignMode (int mode)=0
virtual int Get_BackgroundColor ()=0
virtual void Set_BackgroundColor (int color)=0
virtual bool Get_Loop ()=0
virtual void Set_Loop (bool loop)=0
virtual wxString Get_Movie ()=0
virtual void Set_Movie (const wxString &movie)=0
Detailed Description
The interface for an Adobe Flash player.
Implementing most of the interface methods simply requires calling the corresponding function
on the Flash player plugin which you are (presumably) wrapping in the interface.
Member Function Documentation
virtual void ilog::IFlashPlayer::AddReadyStateListener (ReadyStateListener listener) [pure virtual]
Adds a callback function that will receive Flash ready state change events.
Implemented in ilog::FlashPlayerCtrl (p.106).
virtual As::AnyType ilog::IFlashPlayer::CallFunction (const wxString & func_name, const
As::AnyTypeVector & args) [pure virtual]
Implemented in ilog::FlashPlayerCtrl (p.106).
virtual As::AnyType ilog::IFlashPlayer::CallFunction (const wxString & func_name, As::AnyType arg1, As::AnyType arg2, As::AnyType arg3, As::AnyType arg4,
As::AnyType arg5) [pure virtual]
Implemented in ilog::FlashPlayerCtrl (p.106).
virtual As::AnyType ilog::IFlashPlayer::CallFunction (const wxString & func_name,
As::AnyType arg1, As::AnyType arg2, As::AnyType arg3, As::AnyType arg4) [pure virtual]
Implemented in ilog::FlashPlayerCtrl (p.106).
virtual As::AnyType ilog::IFlashPlayer::CallFunction (const wxString & func_name,
As::AnyType arg1, As::AnyType arg2, As::AnyType arg3) [pure virtual]
Implemented in ilog::FlashPlayerCtrl (p.106).
virtual As::AnyType ilog::IFlashPlayer::CallFunction (const wxString & func_name,
As::AnyType arg1, As::AnyType arg2) [pure virtual]
118
Implemented in ilog::FlashPlayerCtrl (p.106).
virtual As::AnyType ilog::IFlashPlayer::CallFunction (const wxString & func_name,
As::AnyType arg1) [pure virtual]
Implemented in ilog::FlashPlayerCtrl (p.106).
virtual As::AnyType ilog::IFlashPlayer::CallFunction (const wxString & func_name) [pure virtual]
Implemented in ilog::FlashPlayerCtrl (p.107).
virtual bool ilog::IFlashPlayer::ExposeCppFunction (const wxString & name,
FlashExportFunction func) [pure virtual]
Makes a C++ function callable from Flash with the specified name.
Implemented in ilog::FlashPlayerCtrl (p.107).
virtual int ilog::IFlashPlayer::Get_AlignMode () [pure virtual]
Implemented in ilog::Msw_FlashPlayerCtrl (p.155).
virtual int ilog::IFlashPlayer::Get_BackgroundColor () [pure virtual]
Implemented in ilog::Msw_FlashPlayerCtrl (p.155).
virtual int ilog::IFlashPlayer::Get_FrameNum () [pure virtual]
Implemented in ilog::Msw_FlashPlayerCtrl (p.155).
virtual bool ilog::IFlashPlayer::Get_Loop () [pure virtual]
Implemented in ilog::Msw_FlashPlayerCtrl (p.155).
virtual wxString ilog::IFlashPlayer::Get_Movie () [pure virtual]
Implemented in ilog::Msw_FlashPlayerCtrl (p.155).
virtual bool ilog::IFlashPlayer::Get_Playing () [pure virtual]
Implemented in ilog::Msw_FlashPlayerCtrl (p.155).
virtual int ilog::IFlashPlayer::Get_Quality () [pure virtual]
Implemented in ilog::Msw_FlashPlayerCtrl (p.155).
virtual int ilog::IFlashPlayer::Get_ReadyState () [pure virtual]
119
Implemented in ilog::Msw_FlashPlayerCtrl (p.156).
virtual int ilog::IFlashPlayer::Get_ScaleMode () [pure virtual]
Implemented in ilog::Msw_FlashPlayerCtrl (p.156).
virtual int ilog::IFlashPlayer::Get_TotalFrames () [pure virtual]
Implemented in ilog::Msw_FlashPlayerCtrl (p.156).
virtual As::AnyType ilog::IFlashPlayer::GetVariable (const wxString & var_name) [pure virtual]
Implemented in ilog::Msw_FlashPlayerCtrl (p.156).
virtual void ilog::IFlashPlayer::GotoFrame (int frame_num) [pure virtual]
Implemented in ilog::Msw_FlashPlayerCtrl (p.156).
virtual bool ilog::IFlashPlayer::HasExposedCppFunction (const wxString & name) [pure virtual]
Checks whether a C++ function has already been exposed with the specified name.
Implemented in ilog::FlashPlayerCtrl (p.107).
virtual bool ilog::IFlashPlayer::IsPlaying () [pure virtual]
Implemented in ilog::Msw_FlashPlayerCtrl (p.156).
virtual void ilog::IFlashPlayer::LoadMovie (int layer, const wxString & url) [pure virtual]
Implemented in ilog::Msw_FlashPlayerCtrl (p.156).
virtual void ilog::IFlashPlayer::Pan (int x, int y, int mode) [pure virtual]
Implemented in ilog::Msw_FlashPlayerCtrl (p.156).
virtual int ilog::IFlashPlayer::PercentLoaded () [pure virtual]
Implemented in ilog::Msw_FlashPlayerCtrl (p.156).
virtual void ilog::IFlashPlayer::Play () [pure virtual]
Implemented in ilog::Msw_FlashPlayerCtrl (p.156).
virtual bool ilog::IFlashPlayer::RemoveCppFunction (const wxString & name) [pure virtual]
Removes a previously exposed C++ function.
120
Implemented in ilog::FlashPlayerCtrl (p.107).
virtual void ilog::IFlashPlayer::Rewind () [pure virtual]
Implemented in ilog::Msw_FlashPlayerCtrl (p.156).
virtual void ilog::IFlashPlayer::Set_AlignMode (int mode) [pure virtual]
Implemented in ilog::Msw_FlashPlayerCtrl (p.157).
virtual void ilog::IFlashPlayer::Set_BackgroundColor (int color) [pure virtual]
Implemented in ilog::Msw_FlashPlayerCtrl (p.157).
virtual void ilog::IFlashPlayer::Set_FrameNum (int frame_num) [pure virtual]
Implemented in ilog::Msw_FlashPlayerCtrl (p.157).
virtual void ilog::IFlashPlayer::Set_Loop (bool loop) [pure virtual]
Implemented in ilog::Msw_FlashPlayerCtrl (p.157).
virtual void ilog::IFlashPlayer::Set_Movie (const wxString & movie) [pure virtual]
Implemented in ilog::Msw_FlashPlayerCtrl (p.157).
virtual void ilog::IFlashPlayer::Set_Playing (bool playing) [pure virtual]
Implemented in ilog::Msw_FlashPlayerCtrl (p.157).
virtual void ilog::IFlashPlayer::Set_Quality (int quality) [pure virtual]
Implemented in ilog::Msw_FlashPlayerCtrl (p.157).
virtual void ilog::IFlashPlayer::Set_ScaleMode (int mode) [pure virtual]
Implemented in ilog::Msw_FlashPlayerCtrl (p.157).
virtual void ilog::IFlashPlayer::SetVariable (const wxString & var_name, const wxString &
value) [pure virtual]
Implemented in ilog::Msw_FlashPlayerCtrl (p.157).
virtual void ilog::IFlashPlayer::SetZoomRect (int left, int top, int right, int bottom) [pure virtual]
Implemented in ilog::Msw_FlashPlayerCtrl (p.157).
121
virtual void ilog::IFlashPlayer::StopPlay () [pure virtual]
Implemented in ilog::Msw_FlashPlayerCtrl (p.157).
virtual void ilog::IFlashPlayer::TCallFrame (const wxString & target, int frame_num) [pure virtual]
Implemented in ilog::Msw_FlashPlayerCtrl (p.158).
virtual void ilog::IFlashPlayer::TCallLabel (const wxString & target, const wxString &
label) [pure virtual]
Implemented in ilog::Msw_FlashPlayerCtrl (p.158).
virtual int ilog::IFlashPlayer::TCurrentFrame (const wxString & target) [pure virtual]
Implemented in ilog::Msw_FlashPlayerCtrl (p.158).
virtual wxString ilog::IFlashPlayer::TCurrentLabel (const wxString & target) [pure virtual]
Implemented in ilog::Msw_FlashPlayerCtrl (p.158).
virtual wxString ilog::IFlashPlayer::TGetProperty (const wxString & target, int property) [pure virtual]
Implemented in ilog::Msw_FlashPlayerCtrl (p.158).
virtual int ilog::IFlashPlayer::TGetPropertyAsNumber (const wxString & target, int
property) [pure virtual]
Implemented in ilog::Msw_FlashPlayerCtrl (p.158).
virtual void ilog::IFlashPlayer::TGotoFrame (const wxString & target, int frame_num) [pure virtual]
Implemented in ilog::Msw_FlashPlayerCtrl (p.158).
virtual void ilog::IFlashPlayer::TGotoLabel (const wxString & target, const wxString &
label) [pure virtual]
Implemented in ilog::Msw_FlashPlayerCtrl (p.158).
virtual int ilog::IFlashPlayer::TotalFrames () [pure virtual]
Implemented in ilog::Msw_FlashPlayerCtrl (p.158).
virtual void ilog::IFlashPlayer::TPlay (const wxString & target) [pure virtual]
122
Implemented in ilog::Msw_FlashPlayerCtrl (p.158).
virtual void ilog::IFlashPlayer::TSetProperty (const wxString & target, int property, int
value) [pure virtual]
Implemented in ilog::Msw_FlashPlayerCtrl (p.159).
virtual void ilog::IFlashPlayer::TSetProperty (const wxString & target, int property, const
wxString & value) [pure virtual]
Implemented in ilog::Msw_FlashPlayerCtrl (p.159).
virtual void ilog::IFlashPlayer::TStopPlay (const wxString & target) [pure virtual]
Implemented in ilog::Msw_FlashPlayerCtrl (p.159).
virtual void ilog::IFlashPlayer::Zoom (int percent) [pure virtual]
Implemented in ilog::Msw_FlashPlayerCtrl (p.159).
ilog::qti::IInstantiable Class Reference The interface of a class that can be instantiated with Flash components.
#include <base.h>
Inheritance diagram for ilog::qti::IInstantiable:
Public Types
typedef shared_ptr< IInstantiable > Ptr
Public Member Functions
virtual Identifier GetId () const =0
virtual std::vector< As::ComponentHandle > GetGraphicalComponents () const =0
virtual wxString Instantiate (shared_ptr< As::FlashInterface > flash_interface,
As::ComponentHandle parent, int style)=0
Detailed Description
The interface of a class that can be instantiated with Flash components.
123
Member Typedef Documentation
typedef shared_ptr<IInstantiable> ilog::qti::IInstantiable::Ptr
Reimplemented in ilog::qti::BodyElement (p.55), ilog::qti::Interaction (p.128), ilog::qti::Prompt
(p.173), ilog::qti::SimpleInline (p.201), ilog::qti::BlockInteraction (p.53), ilog::qti::Span (p.206),
ilog::qti::Choice (p.62), ilog::qti::SimpleChoice (p.199), ilog::qti::AssociableChoice (p.49),
ilog::qti::SimpleAssociableChoice (p.197), ilog::qti::ChoiceInteraction (p.65),
ilog::qti::MatchInteraction (p.148), and ilog::qti::ItemBody (p.138).
Member Function Documentation
virtual std::vector<As::ComponentHandle>
ilog::qti::IInstantiable::GetGraphicalComponents () const [pure virtual]
Implemented in ilog::qti::BodyElement (p.56).
virtual Identifier ilog::qti::IInstantiable::GetId () const [pure virtual]
Implemented in ilog::qti::BodyElement (p.57).
virtual wxString ilog::qti::IInstantiable::Instantiate (shared_ptr< As::FlashInterface >
flash_interface, As::ComponentHandle parent, int style) [pure virtual]
This function creates a tree of Flash graphical objects to which the BodyElement can be
mapped, and returns a mapping describing which graphical component corresponds to which
QTI component ID.
Implemented in ilog::qti::Prompt (p.173), ilog::qti::Span (p.207), ilog::qti::SimpleChoice (p.200),
ilog::qti::SimpleAssociableChoice (p.198), ilog::qti::ChoiceInteraction (p.65),
ilog::qti::MatchInteraction (p.149), and ilog::qti::ItemBody (p.139).
ilog::As::IllegalOperationError Class Reference #include <exceptions.h>
Inheritance diagram for ilog::As::IllegalOperationError:
Public Member Functions
IllegalOperationError (const wxString &what)
124
Constructor & Destructor Documentation
ilog::As::IllegalOperationError::IllegalOperationError (const wxString & what) [inline]
ilog::qti::Include Class Reference #include <response_processing.h>
Inheritance diagram for ilog::qti::Include:
ilog::qti::Inline Class Reference #include <content_model.h>
Inheritance diagram for ilog::qti::Inline:
125
Public Types
typedef shared_ptr< Inline > Ptr
Public Member Functions
virtual String ToString () const =0
Static Public Member Functions
static Ptr CreateFromXml (const wxXmlNode *root_node)
Protected Member Functions
Inline ()
Member Typedef Documentation
typedef shared_ptr<Inline> ilog::qti::Inline::Ptr
Reimplemented from ilog::qti::Element (p.94).
Reimplemented in ilog::qti::InlineStatic (p.126), ilog::qti::SimpleInline (p.201), ilog::qti::TextRun
(p.209), and ilog::qti::Span (p.206).
Constructor & Destructor Documentation
ilog::qti::Inline::Inline () [inline, protected]
Member Function Documentation
static Ptr ilog::qti::Inline::CreateFromXml (const wxXmlNode * root_node) [static]
Reimplemented in ilog::qti::InlineStatic (p.126), and ilog::qti::SimpleInline (p.202).
virtual String ilog::qti::Inline::ToString () const [pure virtual]
This method should return a string representation of the Inline element.
This may mean ignoring nested elements that do not have a string representation.
Implemented in ilog::qti::TextRun (p.210), and ilog::qti::Span (p.207).
ilog::qti::InlineStatic Class Reference #include <content_model.h>
Inheritance diagram for ilog::qti::InlineStatic:
126
Public Types
typedef shared_ptr< InlineStatic > Ptr
Static Public Member Functions
static Ptr CreateFromXml (const wxXmlNode *root_node)
Protected Member Functions
InlineStatic ()
Member Typedef Documentation
typedef shared_ptr<InlineStatic> ilog::qti::InlineStatic::Ptr
Reimplemented from ilog::qti::Inline (p.125).
Reimplemented in ilog::qti::SimpleInline (p.201), ilog::qti::TextRun (p.209), and ilog::qti::Span
(p.206).
Constructor & Destructor Documentation
ilog::qti::InlineStatic::InlineStatic () [inline, protected]
Member Function Documentation
static Ptr ilog::qti::InlineStatic::CreateFromXml (const wxXmlNode * root_node) [static]
Reimplemented from ilog::qti::Inline (p.125).
127
Reimplemented in ilog::qti::SimpleInline (p.202).
ilog::qti::Interaction Class Reference Base class of QTI 'interaction' types.
#include <content_model.h>
Inheritance diagram for ilog::qti::Interaction:
Public Types
typedef shared_ptr< Interaction > Ptr
Public Member Functions
Identifier GetResponseIdentifier () const
wxXmlNode * Serialize () const
void InitializeFromXml (const wxXmlNode *root_node)
Static Public Member Functions
static Ptr CreateFromXml (const wxXmlNode *root_node)
Protected Member Functions
Interaction ()
Interaction (const wxXmlNode *root_node)
Interaction (Identifier response_identifier, String256 label=wxT(""), StyleClass cls=wxT(""),
Language lang=wxT(""))
Detailed Description
Base class of QTI 'interaction' types.
128
Interactions represent graded student interactions.
Member Typedef Documentation
typedef shared_ptr<Interaction> ilog::qti::Interaction::Ptr
Reimplemented from ilog::qti::BodyElement (p.55).
Reimplemented in ilog::qti::BlockInteraction (p.53), ilog::qti::ChoiceInteraction (p.65), and
ilog::qti::MatchInteraction (p.148).
Constructor & Destructor Documentation
ilog::qti::Interaction::Interaction () [protected]
ilog::qti::Interaction::Interaction (const wxXmlNode * root_node) [explicit, protected]
ilog::qti::Interaction::Interaction (Identifier response_identifier, String256 label =
wxT(""), StyleClass cls = wxT(""), Language lang = wxT("")) [explicit, protected]
Member Function Documentation
static Ptr ilog::qti::Interaction::CreateFromXml (const wxXmlNode * root_node) [static]
Create an Interaction subclass based on the XML root node.
Reimplemented in ilog::qti::BlockInteraction (p.54).
Identifier ilog::qti::Interaction::GetResponseIdentifier () const [inline]
Get the 'responseIdentifier' property.
void ilog::qti::Interaction::InitializeFromXml (const wxXmlNode * root_node) [virtual]
Reimplemented from ilog::qti::BodyElement (p.57).
Reimplemented in ilog::qti::BlockInteraction (p.54), ilog::qti::ChoiceInteraction (p.65), and
ilog::qti::MatchInteraction (p.148).
wxXmlNode* ilog::qti::Interaction::Serialize () const [virtual]
Reimplemented from ilog::qti::BodyElement (p.57).
Reimplemented in ilog::qti::BlockInteraction (p.54), ilog::qti::ChoiceInteraction (p.66), and
ilog::qti::MatchInteraction (p.149).
129
ilog::Interaction Class Reference A class encapsulating a QTI Interaction and the Flash graphical components used to instantiate
it.
#include <interaction.h>
Public Types
typedef weak_ptr< Interaction > Ptr
typedef shared_ptr< Interaction > SharedPtr
Public Member Functions
const qti::Interaction::Ptr GetQtiInteraction () const
const qti::ResponseDeclaration::Ptr GetQtiResponseDeclaration () const
shared_ptr< As::FlashInterface > GetFlashInterface () const
As::ComponentHandle GetParent () const
std::vector< As::ComponentHandle > GetAllMemberComponents () const
As::ComponentHandle GetMemberComponent (qti::Identifier id) const
bool HasMemberComponent (As::ComponentHandle h_comp) const
qti::Identifier GetMappedQtiIdentifier (As::ComponentHandle h_comp) const
Friends
class As::FlashInterface
Detailed Description
A class encapsulating a QTI Interaction and the Flash graphical components used to instantiate
it.
Member Typedef Documentation
typedef weak_ptr<Interaction> ilog::Interaction::Ptr
typedef shared_ptr<Interaction> ilog::Interaction::SharedPtr
Member Function Documentation
std::vector<As::ComponentHandle> ilog::Interaction::GetAllMemberComponents () const [inline]
Get all Flash components used to instantiate the Interaction.
shared_ptr<As::FlashInterface> ilog::Interaction::GetFlashInterface () const [inline]
Get the associated FlashInterface.
qti::Identifier ilog::Interaction::GetMappedQtiIdentifier (As::ComponentHandle h_comp)
const [inline]
Get the QTI element represented by the given Flash component.
130
As::ComponentHandle ilog::Interaction::GetMemberComponent (qti::Identifier id) const [inline]
Get the Flash component used to instantiate the QTI element with the given identifier.
As::ComponentHandle ilog::Interaction::GetParent () const [inline]
Get the parent Container under which the Interaction was created.
const qti::Interaction::Ptr ilog::Interaction::GetQtiInteraction () const [inline]
Get the associated QTI Interaction.
const qti::ResponseDeclaration::Ptr ilog::Interaction::GetQtiResponseDeclaration () const [inline]
Get the associated QTI ResponseDeclaration.
bool ilog::Interaction::HasMemberComponent (As::ComponentHandle h_comp) const [inline]
Does the Interaction contain the given Flash component?
Friends And Related Function Documentation
friend class As::FlashInterface [friend]
ilog::InteractionCreationDialog Class Reference A dialog class that lets the user choose which interaction wizard to launch.
#include <interaction_creation_dialog.h>
Public Member Functions
InteractionCreationDialog (wxWindow *parent, wxWindowID id)
int GetSelectedIndex () const
void OnSelectionChanged (wxNotebookEvent &evt)
Detailed Description
A dialog class that lets the user choose which interaction wizard to launch.
Constructor & Destructor Documentation
ilog::InteractionCreationDialog::InteractionCreationDialog (wxWindow * parent, wxWindowID id)
131
Member Function Documentation
int ilog::InteractionCreationDialog::GetSelectedIndex () const [inline]
void ilog::InteractionCreationDialog::OnSelectionChanged (wxNotebookEvent & evt)
ilog::InteractionCreationValidator Class Reference wxValidator subclass for InteractionCreationValidator
#include <interaction_creation_dialog.h>
Public Member Functions
InteractionCreationValidator (int *result_ptr)
InteractionCreationValidator (const InteractionCreationValidator &that)
virtual wxObject * Clone () const
virtual bool TransferFromWindow ()
virtual bool TransferToWindow ()
virtual bool Validate (wxWindow *parent)
Detailed Description
wxValidator subclass for InteractionCreationValidator
Constructor & Destructor Documentation
ilog::InteractionCreationValidator::InteractionCreationValidator (int * result_ptr) [inline]
ilog::InteractionCreationValidator::InteractionCreationValidator (const
InteractionCreationValidator & that) [inline]
Member Function Documentation
virtual wxObject* ilog::InteractionCreationValidator::Clone () const [inline, virtual]
virtual bool ilog::InteractionCreationValidator::TransferFromWindow () [inline, virtual]
virtual bool ilog::InteractionCreationValidator::TransferToWindow () [inline, virtual]
virtual bool ilog::InteractionCreationValidator::Validate (wxWindow * parent) [inline, virtual]
132
ilog::As::IOError Class Reference #include <exceptions.h>
Inheritance diagram for ilog::As::IOError:
Public Member Functions
IOError (const wxString &what)
Constructor & Destructor Documentation
ilog::As::IOError::IOError (const wxString & what) [inline]
ilog::IPropertiesDisplayer Class Reference The interface of a control that displays the properties of a Flash component.
#include <i_properties_displayer.h>
Inheritance diagram for ilog::IPropertiesDisplayer:
Public Member Functions
virtual void DisplayPropertiesFor (As::ComponentHandle h_comp)=0
Detailed Description
The interface of a control that displays the properties of a Flash component.
Member Function Documentation
virtual void ilog::IPropertiesDisplayer::DisplayPropertiesFor (As::ComponentHandle
h_comp) [pure virtual]
Display all properties for the given component that the control supports.
133
Implemented in ilog::DragablePropertiesPanel (p.87), ilog::DropTargetPropertiesPanel (p.88),
ilog::GeneralPropertiesPanel (p.113), ilog::PropertiesPanel (p.175), and ilog::PropertyEditor
(p.178).
ilog::qti::ISerializable Class Reference The interface of a component that can be serialized to and restored form XML.
#include <base.h>
Inheritance diagram for ilog::qti::ISerializable:
135
Public Types
typedef shared_ptr< ISerializable > Ptr
Public Member Functions
virtual wxXmlNode * Serialize () const =0
virtual void InitializeFromXml (const wxXmlNode *root_node)
Detailed Description
The interface of a component that can be serialized to and restored form XML.
Member Typedef Documentation
typedef shared_ptr<ISerializable> ilog::qti::ISerializable::Ptr
Reimplemented in ilog::qti::Element (p.94), ilog::qti::BodyElement (p.55), ilog::qti::Interaction
(p.128), ilog::qti::ObjectFlow (p.166), ilog::qti::Flow (p.108), ilog::qti::FlowStatic (p.110),
ilog::qti::Inline (p.125), ilog::qti::InlineStatic (p.126), ilog::qti::Prompt (p.173),
ilog::qti::SimpleInline (p.201), ilog::qti::Block (p.52), ilog::qti::BlockInteraction (p.53),
ilog::qti::TextRun (p.209), ilog::qti::Span (p.206), ilog::qti::Choice (p.62),
ilog::qti::SimpleChoice (p.199), ilog::qti::AssociableChoice (p.49),
ilog::qti::SimpleAssociableChoice (p.197), ilog::qti::SimpleMatchSet (p.203),
ilog::qti::ChoiceInteraction (p.65), ilog::qti::MatchInteraction (p.148),
ilog::qti::VariableDeclaration (p.216), ilog::qti::CorrectResponse (p.83), ilog::qti::Mapping
(p.141), ilog::qti::ResponseDeclaration (p.183), ilog::qti::ItemBody (p.138),
ilog::qti::AssessmentItem (p.45), ilog::qti::Expression (p.100), ilog::qti::BaseValue (p.51),
ilog::qti::Correct (p.81), ilog::qti::IsNull (p.137), ilog::qti::MapResponse (p.144),
ilog::qti::Match (p.145), ilog::qti::Variable (p.214), ilog::qti::OutcomeRule (p.169),
ilog::qti::ResponseRule (p.192), ilog::qti::ResponseIf (p.188), ilog::qti::ResponseElseIf (p.187),
ilog::qti::ResponseElse (p.185), ilog::qti::ResponseCondition (p.181), ilog::qti::SetOutcomeValue
(p.194), and ilog::qti::ResponseProcessing (p.190).
Member Function Documentation
virtual void ilog::qti::ISerializable::InitializeFromXml (const wxXmlNode * root_node) [inline, virtual]
Reimplemented in ilog::qti::BodyElement (p.57), ilog::qti::Interaction (p.128), ilog::qti::Flow
(p.109), ilog::qti::FlowStatic (p.111), ilog::qti::Prompt (p.173), ilog::qti::SimpleInline (p.202),
ilog::qti::BlockInteraction (p.54), ilog::qti::TextRun (p.210), ilog::qti::Span (p.207),
ilog::qti::Choice (p.63), ilog::qti::SimpleChoice (p.200), ilog::qti::AssociableChoice (p.49),
ilog::qti::SimpleAssociableChoice (p.198), ilog::qti::SimpleMatchSet (p.203),
ilog::qti::ChoiceInteraction (p.65), ilog::qti::MatchInteraction (p.148),
ilog::qti::VariableDeclaration (p.217), ilog::qti::CorrectResponse (p.84), ilog::qti::Mapping
(p.142), ilog::qti::ResponseDeclaration (p.184), ilog::qti::ItemBody (p.139),
ilog::qti::AssessmentItem (p.46), ilog::qti::BaseValue (p.51), ilog::qti::Correct (p.82),
ilog::qti::IsNull (p.137), ilog::qti::MapResponse (p.144), ilog::qti::Match (p.146),
ilog::qti::Variable (p.215), ilog::qti::ResponseIf (p.189), ilog::qti::ResponseElse (p.186),
136
ilog::qti::ResponseCondition (p.182), ilog::qti::SetOutcomeValue (p.195), and
ilog::qti::ResponseProcessing (p.191).
virtual wxXmlNode* ilog::qti::ISerializable::Serialize () const [pure virtual]
Implemented in ilog::qti::Element (p.96), ilog::qti::BodyElement (p.57), ilog::qti::Interaction
(p.128), ilog::qti::Flow (p.109), ilog::qti::Prompt (p.173), ilog::qti::SimpleInline (p.202),
ilog::qti::BlockInteraction (p.54), ilog::qti::TextRun (p.210), ilog::qti::Span (p.207),
ilog::qti::Choice (p.63), ilog::qti::SimpleChoice (p.200), ilog::qti::AssociableChoice (p.50),
ilog::qti::SimpleAssociableChoice (p.198), ilog::qti::SimpleMatchSet (p.204),
ilog::qti::ChoiceInteraction (p.66), ilog::qti::MatchInteraction (p.149),
ilog::qti::VariableDeclaration (p.217), ilog::qti::CorrectResponse (p.84), ilog::qti::Mapping
(p.142), ilog::qti::ResponseDeclaration (p.184), ilog::qti::ItemBody (p.139),
ilog::qti::AssessmentItem (p.46), ilog::qti::BaseValue (p.51), ilog::qti::Correct (p.82),
ilog::qti::IsNull (p.137), ilog::qti::MapResponse (p.144), ilog::qti::Match (p.146),
ilog::qti::Variable (p.215), ilog::qti::ResponseIf (p.189), ilog::qti::ResponseElse (p.186),
ilog::qti::ResponseCondition (p.182), ilog::qti::SetOutcomeValue (p.195), and
ilog::qti::ResponseProcessing (p.191).
ilog::qti::IsNull Class Reference #include <expression.h>
Inheritance diagram for ilog::qti::IsNull:
Public Types
typedef shared_ptr< IsNull > Ptr
Public Member Functions
wxString GetName () const
Expression::Ptr GetExpression () const
void SetExpression (Expression::Ptr ex)
wxXmlNode * Serialize () const
void InitializeFromXml (const wxXmlNode *root_node)
Static Public Member Functions
static Ptr Create ()
static Ptr Create (const wxXmlNode *root_node)
137
static Ptr Create (Expression::Ptr ex)
Protected Member Functions
IsNull ()
IsNull (Expression::Ptr ex)
IsNull (const wxXmlNode *root_node)
Member Typedef Documentation
typedef shared_ptr<IsNull> ilog::qti::IsNull::Ptr
Reimplemented from ilog::qti::Expression (p.100).
Constructor & Destructor Documentation
ilog::qti::IsNull::IsNull () [protected]
ilog::qti::IsNull::IsNull (Expression::Ptr ex) [explicit, protected]
ilog::qti::IsNull::IsNull (const wxXmlNode * root_node) [explicit, protected]
Member Function Documentation
static Ptr ilog::qti::IsNull::Create (Expression::Ptr ex) [static]
static Ptr ilog::qti::IsNull::Create (const wxXmlNode * root_node) [static]
static Ptr ilog::qti::IsNull::Create () [static]
Expression::Ptr ilog::qti::IsNull::GetExpression () const [inline]
wxString ilog::qti::IsNull::GetName () const [inline, virtual]
This pure virtual method allows abstract base classes to know the name of the XML element
that represents their concrete descendants.
It should only be implemented in classes that correspond to a concrete (non-abstract) QTI
element.
Implements ilog::qti::Element (p.95).
void ilog::qti::IsNull::InitializeFromXml (const wxXmlNode * root_node) [virtual]
Reimplemented from ilog::qti::ISerializable (p.135).
wxXmlNode* ilog::qti::IsNull::Serialize () const [virtual]
Reimplemented from ilog::qti::Element (p.96).
138
void ilog::qti::IsNull::SetExpression (Expression::Ptr ex) [inline]
ilog::qti::ItemBody Class Reference #include <content_model.h>
Inheritance diagram for ilog::qti::ItemBody:
Public Types
typedef shared_ptr< ItemBody > Ptr
Public Member Functions
wxString GetName () const
wxString Instantiate (shared_ptr< As::FlashInterface > flash_interface, As::ComponentHandle
parent, int style=0)
wxXmlNode * Serialize () const
void InitializeFromXml (const wxXmlNode *root_node)
Static Public Member Functions
static Ptr Create ()
static Ptr Create (const wxXmlNode *root_node)
Protected Member Functions
ItemBody ()
ItemBody (const wxXmlNode *root_node)
Member Typedef Documentation
typedef shared_ptr<ItemBody> ilog::qti::ItemBody::Ptr
Reimplemented from ilog::qti::BodyElement (p.55).
139
Constructor & Destructor Documentation
ilog::qti::ItemBody::ItemBody () [protected]
ilog::qti::ItemBody::ItemBody (const wxXmlNode * root_node) [explicit, protected]
Member Function Documentation
static Ptr ilog::qti::ItemBody::Create (const wxXmlNode * root_node) [static]
static Ptr ilog::qti::ItemBody::Create () [static]
wxString ilog::qti::ItemBody::GetName () const [inline, virtual]
This pure virtual method allows abstract base classes to know the name of the XML element
that represents their concrete descendants.
It should only be implemented in classes that correspond to a concrete (non-abstract) QTI
element.
Implements ilog::qti::Element (p.95).
void ilog::qti::ItemBody::InitializeFromXml (const wxXmlNode * root_node) [virtual]
Reimplemented from ilog::qti::BodyElement (p.57).
wxString ilog::qti::ItemBody::Instantiate (shared_ptr< As::FlashInterface > flash_interface,
As::ComponentHandle parent, int style = 0) [virtual]
This function creates a tree of Flash graphical objects to which the BodyElement can be
mapped, and returns a mapping describing which graphical component corresponds to which
QTI component ID.
Implements ilog::qti::IInstantiable (p.123).
wxXmlNode* ilog::qti::ItemBody::Serialize () const [virtual]
Reimplemented from ilog::qti::BodyElement (p.57).
ilog::LengthRestrictedTextValidator Class Reference A wxTextValidator subclass that restricts the text entered in a text control to a fixed length.
#include <length_restricted_text_validator.h>
Public Member Functions
LengthRestrictedTextValidator (size_t max_length=0, long style=wxFILTER_NONE, wxString
*valPtr=NULL)
void OnChar (wxKeyEvent &evt)
140
Detailed Description
A wxTextValidator subclass that restricts the text entered in a text control to a fixed length.
Constructor & Destructor Documentation
ilog::LengthRestrictedTextValidator::LengthRestrictedTextValidator (size_t max_length =
0, long style = wxFILTER_NONE, wxString * valPtr = NULL) [inline]
Member Function Documentation
void ilog::LengthRestrictedTextValidator::OnChar (wxKeyEvent & evt) [inline]
ilog::qti::LookupOutcomeValue Class Reference
#include <response_processing.h>
Inheritance diagram for ilog::qti::LookupOutcomeValue:
ilog::qti::Mapping Class Reference #include <content_model.h>
Inheritance diagram for ilog::qti::Mapping:
141
Public Types
typedef shared_ptr< Mapping > Ptr
typedef std::pair< ValueType, Float > MapEntry
Public Member Functions
wxString GetName () const
Float GetLowerBound () const
void SetLowerBound (Float bound)
Float GetUpperBound () const
void SetUpperBound (Float bound)
Float GetDefaultValue () const
void SetDefaultValue (Float val)
std::vector< MapEntry > GetMapEntries () const
Float GetMappedValue (const ValueType &map_key) const
bool HasMappedValue (const ValueType &map_key) const
void SetMappedValue (const ValueType &map_key, Float mapped_value)
wxXmlNode * Serialize () const
void InitializeFromXml (const wxXmlNode *root_node)
Static Public Member Functions
static Ptr Create ()
static Ptr Create (const wxXmlNode *root_node)
static Ptr Create (Float default_value, Float upper_bound=NO_UPPER_BOUND, Float
lower_bound=NO_LOWER_BOUND)
Static Public Attributes
static const Float NO_LOWER_BOUND = FLT_MIN
static const Float NO_UPPER_BOUND = FLT_MAX
Protected Member Functions
Mapping ()
Mapping (Float default_value, Float upper_bound=NO_UPPER_BOUND, Float
lower_bound=NO_LOWER_BOUND)
Mapping (const wxXmlNode *root_node)
Member Typedef Documentation
typedef std::pair<ValueType, Float> ilog::qti::Mapping::MapEntry
typedef shared_ptr<Mapping> ilog::qti::Mapping::Ptr
Reimplemented from ilog::qti::Element (p.94).
142
Constructor & Destructor Documentation
ilog::qti::Mapping::Mapping () [protected]
ilog::qti::Mapping::Mapping (Float default_value, Float upper_bound = NO_UPPER_BOUND,
Float lower_bound = NO_LOWER_BOUND) [explicit, protected]
ilog::qti::Mapping::Mapping (const wxXmlNode * root_node) [explicit, protected]
Member Function Documentation
static Ptr ilog::qti::Mapping::Create (Float default_value, Float upper_bound =
NO_UPPER_BOUND, Float lower_bound = NO_LOWER_BOUND) [static]
static Ptr ilog::qti::Mapping::Create (const wxXmlNode * root_node) [static]
static Ptr ilog::qti::Mapping::Create () [static]
Float ilog::qti::Mapping::GetDefaultValue () const [inline]
Float ilog::qti::Mapping::GetLowerBound () const [inline]
std::vector<MapEntry> ilog::qti::Mapping::GetMapEntries () const [inline]
Float ilog::qti::Mapping::GetMappedValue (const ValueType & map_key) const [inline]
wxString ilog::qti::Mapping::GetName () const [inline, virtual]
This pure virtual method allows abstract base classes to know the name of the XML element
that represents their concrete descendants.
It should only be implemented in classes that correspond to a concrete (non-abstract) QTI
element.
Implements ilog::qti::Element (p.95).
Float ilog::qti::Mapping::GetUpperBound () const [inline]
bool ilog::qti::Mapping::HasMappedValue (const ValueType & map_key) const [inline]
void ilog::qti::Mapping::InitializeFromXml (const wxXmlNode * root_node) [virtual]
Reimplemented from ilog::qti::ISerializable (p.135).
wxXmlNode* ilog::qti::Mapping::Serialize () const [virtual]
Reimplemented from ilog::qti::Element (p.96).
143
void ilog::qti::Mapping::SetDefaultValue (Float val) [inline]
void ilog::qti::Mapping::SetLowerBound (Float bound) [inline]
void ilog::qti::Mapping::SetMappedValue (const ValueType & map_key, Float
mapped_value) [inline]
void ilog::qti::Mapping::SetUpperBound (Float bound) [inline]
Member Data Documentation
const Float ilog::qti::Mapping::NO_LOWER_BOUND = FLT_MIN [static]
const Float ilog::qti::Mapping::NO_UPPER_BOUND = FLT_MAX [static]
ilog::qti::MapResponse Class Reference #include <expression.h>
Inheritance diagram for ilog::qti::MapResponse:
Public Types
typedef shared_ptr< MapResponse > Ptr
Public Member Functions
wxString GetName () const
wxXmlNode * Serialize () const
void InitializeFromXml (const wxXmlNode *root_node)
Static Public Member Functions
static Ptr Create ()
static Ptr Create (const wxXmlNode *root_node)
static Ptr Create (Identifier identifier)
144
Protected Member Functions
MapResponse ()
MapResponse (Identifier identifier)
MapResponse (const wxXmlNode *root_node)
Member Typedef Documentation
typedef shared_ptr<MapResponse> ilog::qti::MapResponse::Ptr
Reimplemented from ilog::qti::Expression (p.100).
Constructor & Destructor Documentation
ilog::qti::MapResponse::MapResponse () [protected]
ilog::qti::MapResponse::MapResponse (Identifier identifier) [explicit, protected]
ilog::qti::MapResponse::MapResponse (const wxXmlNode * root_node) [explicit, protected]
Member Function Documentation
static Ptr ilog::qti::MapResponse::Create (Identifier identifier) [static]
static Ptr ilog::qti::MapResponse::Create (const wxXmlNode * root_node) [static]
static Ptr ilog::qti::MapResponse::Create () [static]
wxString ilog::qti::MapResponse::GetName () const [inline, virtual]
This pure virtual method allows abstract base classes to know the name of the XML element
that represents their concrete descendants.
It should only be implemented in classes that correspond to a concrete (non-abstract) QTI
element.
Implements ilog::qti::Element (p.95).
void ilog::qti::MapResponse::InitializeFromXml (const wxXmlNode * root_node) [virtual]
Reimplemented from ilog::qti::ISerializable (p.135).
wxXmlNode* ilog::qti::MapResponse::Serialize () const [virtual]
Reimplemented from ilog::qti::Element (p.96).
145
ilog::qti::Match Class Reference #include <expression.h>
Inheritance diagram for ilog::qti::Match:
Public Types
typedef shared_ptr< Match > Ptr
Public Member Functions
wxString GetName () const
Expression::Ptr GetExpression1 () const
void SetExpression1 (Expression::Ptr ex)
Expression::Ptr GetExpression2 () const
void SetExpression2 (Expression::Ptr ex)
wxXmlNode * Serialize () const
void InitializeFromXml (const wxXmlNode *root_node)
Static Public Member Functions
static Ptr Create ()
static Ptr Create (const wxXmlNode *root_node)
static Ptr Create (Expression::Ptr ex1, Expression::Ptr ex2)
Protected Member Functions
Match ()
Match (Expression::Ptr ex1, Expression::Ptr ex2)
Match (const wxXmlNode *root_node)
Member Typedef Documentation
typedef shared_ptr<Match> ilog::qti::Match::Ptr
Reimplemented from ilog::qti::Expression (p.100).
146
Constructor & Destructor Documentation
ilog::qti::Match::Match () [protected]
ilog::qti::Match::Match (Expression::Ptr ex1, Expression::Ptr ex2) [protected]
ilog::qti::Match::Match (const wxXmlNode * root_node) [explicit, protected]
Member Function Documentation
static Ptr ilog::qti::Match::Create (Expression::Ptr ex1, Expression::Ptr ex2) [static]
static Ptr ilog::qti::Match::Create (const wxXmlNode * root_node) [static]
static Ptr ilog::qti::Match::Create () [static]
Expression::Ptr ilog::qti::Match::GetExpression1 () const [inline]
Expression::Ptr ilog::qti::Match::GetExpression2 () const [inline]
wxString ilog::qti::Match::GetName () const [inline, virtual]
This pure virtual method allows abstract base classes to know the name of the XML element
that represents their concrete descendants.
It should only be implemented in classes that correspond to a concrete (non-abstract) QTI
element.
Implements ilog::qti::Element (p.95).
void ilog::qti::Match::InitializeFromXml (const wxXmlNode * root_node) [virtual]
Reimplemented from ilog::qti::ISerializable (p.135).
wxXmlNode* ilog::qti::Match::Serialize () const [virtual]
Reimplemented from ilog::qti::Element (p.96).
void ilog::qti::Match::SetExpression1 (Expression::Ptr ex) [inline]
void ilog::qti::Match::SetExpression2 (Expression::Ptr ex) [inline]
ilog::qti::MatchInteraction Class Reference #include <content_model.h>
Inheritance diagram for ilog::qti::MatchInteraction:
147
Public Types
typedef shared_ptr< MatchInteraction > Ptr
Public Member Functions
bool IsInstantiable () const
wxString GetName () const
Boolean IsShuffle () const
void SetShuffle (Boolean shuffle)
Integer GetMaxAssociations () const
void SetMaxAssociations (Integer max_associations)
Integer GetMinAssociations () const
void SetMinAssociations (Integer min_associations)
SimpleMatchSet::Ptr GetSourceChoices () const
void SetSourceChoices (SimpleMatchSet::Ptr choices)
SimpleMatchSet::Ptr GetTargetChoices () const
void SetTargetChoices (SimpleMatchSet::Ptr choices)
wxString Instantiate (shared_ptr< As::FlashInterface > flash_interface, As::ComponentHandle
parent, int style=0)
wxXmlNode * Serialize () const
void InitializeFromXml (const wxXmlNode *root_node)
Static Public Member Functions
static Ptr Create ()
static Ptr Create (const wxXmlNode *root_node)
static Ptr Create (Identifier response_identifier, Boolean shuffle=false, Integer max_associations=1,
Integer min_associations=0)
Protected Member Functions
MatchInteraction ()
MatchInteraction (Identifier response_identifier, Boolean shuffle=false, Integer max_associations=1,
Integer min_associations=0)
MatchInteraction (const wxXmlNode *root_node)
148
Member Typedef Documentation
typedef shared_ptr<MatchInteraction> ilog::qti::MatchInteraction::Ptr
Reimplemented from ilog::qti::BlockInteraction (p.53).
Constructor & Destructor Documentation
ilog::qti::MatchInteraction::MatchInteraction () [protected]
ilog::qti::MatchInteraction::MatchInteraction (Identifier response_identifier, Boolean
shuffle = false, Integer max_associations = 1, Integer min_associations = 0) [explicit, protected]
ilog::qti::MatchInteraction::MatchInteraction (const wxXmlNode * root_node) [explicit, protected]
Member Function Documentation
static Ptr ilog::qti::MatchInteraction::Create (Identifier response_identifier, Boolean
shuffle = false, Integer max_associations = 1, Integer min_associations = 0) [static]
static Ptr ilog::qti::MatchInteraction::Create (const wxXmlNode * root_node) [static]
static Ptr ilog::qti::MatchInteraction::Create () [static]
Integer ilog::qti::MatchInteraction::GetMaxAssociations () const [inline]
Integer ilog::qti::MatchInteraction::GetMinAssociations () const [inline]
wxString ilog::qti::MatchInteraction::GetName () const [inline, virtual]
This pure virtual method allows abstract base classes to know the name of the XML element
that represents their concrete descendants.
It should only be implemented in classes that correspond to a concrete (non-abstract) QTI
element.
Implements ilog::qti::Element (p.95).
SimpleMatchSet::Ptr ilog::qti::MatchInteraction::GetSourceChoices () const [inline]
SimpleMatchSet::Ptr ilog::qti::MatchInteraction::GetTargetChoices () const [inline]
void ilog::qti::MatchInteraction::InitializeFromXml (const wxXmlNode * root_node) [virtual]
Reimplemented from ilog::qti::BlockInteraction (p.54).
149
wxString ilog::qti::MatchInteraction::Instantiate (shared_ptr< As::FlashInterface >
flash_interface, As::ComponentHandle parent, int style = 0) [virtual]
This function creates a tree of Flash graphical objects to which the BodyElement can be
mapped, and returns a mapping describing which graphical component corresponds to which
QTI component ID.
Implements ilog::qti::IInstantiable (p.123).
bool ilog::qti::MatchInteraction::IsInstantiable () const [inline, virtual]
This method should be overriden to return 'true' if the element can be instantiated as a
graphical component (i.e.
it is a non-abstract QTI element). Instantiable elements should also implement the
'IInstantiable' interface.
Reimplemented from ilog::qti::Element (p.95).
Boolean ilog::qti::MatchInteraction::IsShuffle () const [inline]
wxXmlNode* ilog::qti::MatchInteraction::Serialize () const [virtual]
Reimplemented from ilog::qti::BlockInteraction (p.54).
void ilog::qti::MatchInteraction::SetMaxAssociations (Integer max_associations) [inline]
void ilog::qti::MatchInteraction::SetMinAssociations (Integer min_associations) [inline]
void ilog::qti::MatchInteraction::SetShuffle (Boolean shuffle) [inline]
void ilog::qti::MatchInteraction::SetSourceChoices (SimpleMatchSet::Ptr choices) [inline]
void ilog::qti::MatchInteraction::SetTargetChoices (SimpleMatchSet::Ptr choices) [inline]
ilog::MatchInteractionWizard Class Reference A wxWizard used to create a Match interaction.
#include <match_interaction_wizard.h>
Public Member Functions
MatchInteractionWizard (wxFrame *parent_frame, qti::AssessmentItem &out_item)
wxWizardPage * GetFirstPage () const
void OnWizardFinished (wxWizardEvent &evt)
void OnWizardPageChanging (wxWizardEvent &evt)
150
Detailed Description
A wxWizard used to create a Match interaction.
Constructor & Destructor Documentation
ilog::MatchInteractionWizard::MatchInteractionWizard (wxFrame * parent_frame, qti::AssessmentItem & out_item)
Member Function Documentation
wxWizardPage* ilog::MatchInteractionWizard::GetFirstPage () const
void ilog::MatchInteractionWizard::OnWizardFinished (wxWizardEvent & evt)
void ilog::MatchInteractionWizard::OnWizardPageChanging (wxWizardEvent & evt)
ilog::MatchInteractionWizardPage_Answer Class Reference The 'answers' page of the wizard.
#include <match_interaction_wizard.h>
Public Member Functions
MatchInteractionWizardPage_Answer (wxWizard *parent, qti::AssessmentItem &out_item)
void SetSourceMnemonics (std::vector< wxString > mnemonics)
void SetTargetMnemonics (std::vector< wxString > mnemonics)
std::vector< std::pair< int, int > > GetAnswer () const
Friends
class MatchInteractionWizard
Detailed Description
The 'answers' page of the wizard.
Constructor & Destructor Documentation
ilog::MatchInteractionWizardPage_Answer::MatchInteractionWizardPage_Answer (wxWizard * parent, qti::AssessmentItem & out_item)
151
Member Function Documentation
std::vector< std::pair<int,int> > ilog::MatchInteractionWizardPage_Answer::GetAnswer () const
Get the source-target pairs marked as 'correct' by the user.
void ilog::MatchInteractionWizardPage_Answer::SetSourceMnemonics (std::vector< wxString > mnemonics)
Set the mnemonics for the 'source' choices in the answer specification control.
void ilog::MatchInteractionWizardPage_Answer::SetTargetMnemonics (std::vector< wxString > mnemonics)
Set the mnemonics for the 'target' choices in the answer specification control.
Friends And Related Function Documentation
friend class MatchInteractionWizard [friend]
ilog::MatchInteractionWizardPage_Parameters Class Reference The 'parameters' page of the wizard.
#include <match_interaction_wizard.h>
Public Member Functions
MatchInteractionWizardPage_Parameters (wxWizard *parent, qti::AssessmentItem &out_item)
int GetSourceCount () const
int GetTargetCount () const
Friends
class MatchInteractionWizard
Detailed Description
The 'parameters' page of the wizard.
Constructor & Destructor Documentation
ilog::MatchInteractionWizardPage_Parameters::MatchInteractionWizardPage_Parameters (wxWizard * parent, qti::AssessmentItem & out_item)
152
Member Function Documentation
int ilog::MatchInteractionWizardPage_Parameters::GetSourceCount () const [inline]
int ilog::MatchInteractionWizardPage_Parameters::GetTargetCount () const [inline]
Friends And Related Function Documentation
friend class MatchInteractionWizard [friend]
ilog::MatchInteractionWizardPage_Responses Class Reference The 'responses' page of the wizard.
#include <match_interaction_wizard.h>
Public Member Functions
MatchInteractionWizardPage_Responses (wxWizard *parent, qti::AssessmentItem &out_item)
void SetSourceCount (int count)
void SetTargetCount (int count)
Friends
class MatchInteractionWizard
Detailed Description
The 'responses' page of the wizard.
Constructor & Destructor Documentation
ilog::MatchInteractionWizardPage_Responses::MatchInteractionWizardPage_Responses (wxWizard * parent, qti::AssessmentItem & out_item)
Member Function Documentation
void ilog::MatchInteractionWizardPage_Responses::SetSourceCount (int count)
void ilog::MatchInteractionWizardPage_Responses::SetTargetCount (int count)
153
Friends And Related Function Documentation
friend class MatchInteractionWizard [friend]
ilog::As::MemoryError Class Reference #include <exceptions.h>
Inheritance diagram for ilog::As::MemoryError:
Public Member Functions
MemoryError (const wxString &what)
Constructor & Destructor Documentation
ilog::As::MemoryError::MemoryError (const wxString & what) [inline]
ilog::Msw_FlashPlayerCtrl Class Reference An implementation of FlashPlayerCtrl on the Microsoft Windows platform.
#include <msw_flash_player_ctrl.h>
Inheritance diagram for ilog::Msw_FlashPlayerCtrl:
Public Member Functions
Msw_FlashPlayerCtrl (wxWindow *parent, wxWindowID id, const wxPoint
&pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=0, const wxString
&name=wxPanelNameStr)
virtual ~Msw_FlashPlayerCtrl ()
void OnActiveXEvent (wxActiveXEvent &evt)
virtual As::AnyType GetVariable (const wxString &var_name)
virtual void GotoFrame (int frame_num)
154
virtual bool IsPlaying ()
virtual void LoadMovie (int layer, const wxString &url)
virtual void Pan (int x, int y, int mode)
virtual int PercentLoaded ()
virtual void Play ()
virtual void Rewind ()
virtual void SetVariable (const wxString &var_name, const wxString &value)
virtual void SetZoomRect (int left, int top, int right, int bottom)
virtual void StopPlay ()
virtual int TotalFrames ()
virtual void Zoom (int percent)
virtual void TCallFrame (const wxString &target, int frame_num)
virtual void TCallLabel (const wxString &target, const wxString &label)
virtual int TCurrentFrame (const wxString &target)
virtual wxString TCurrentLabel (const wxString &target)
virtual wxString TGetProperty (const wxString &target, int property)
virtual int TGetPropertyAsNumber (const wxString &target, int property)
virtual void TGotoFrame (const wxString &target, int frame_num)
virtual void TGotoLabel (const wxString &target, const wxString &label)
virtual void TPlay (const wxString &target)
virtual void TSetProperty (const wxString &target, int property, const wxString &value)
virtual void TSetProperty (const wxString &target, int property, int value)
virtual void TStopPlay (const wxString &target)
virtual int Get_ReadyState ()
virtual int Get_TotalFrames ()
virtual int Get_FrameNum ()
virtual void Set_FrameNum (int frame_num)
virtual bool Get_Playing ()
virtual void Set_Playing (bool playing)
virtual int Get_Quality ()
virtual void Set_Quality (int quality)
virtual int Get_ScaleMode ()
virtual void Set_ScaleMode (int mode)
virtual int Get_AlignMode ()
virtual void Set_AlignMode (int mode)
virtual int Get_BackgroundColor ()
virtual void Set_BackgroundColor (int color)
virtual bool Get_Loop ()
virtual void Set_Loop (bool loop)
virtual wxString Get_Movie ()
virtual void Set_Movie (const wxString &movie)
Protected Member Functions
virtual wxString DoFlashCall (const wxString &xml)
Detailed Description
An implementation of FlashPlayerCtrl on the Microsoft Windows platform.
Uses wxActiveXControl to encapsulate the Adobe Flash player ActiveX control.
155
Constructor & Destructor Documentation
ilog::Msw_FlashPlayerCtrl::Msw_FlashPlayerCtrl (wxWindow * parent, wxWindowID id, const wxPoint & pos = wxDefaultPosition, const wxSize & size = wxDefaultSize,
long style = 0, const wxString & name = wxPanelNameStr)
virtual ilog::Msw_FlashPlayerCtrl::~Msw_FlashPlayerCtrl () [virtual]
Member Function Documentation
virtual wxString ilog::Msw_FlashPlayerCtrl::DoFlashCall (const wxString & xml) [protected, virtual]
Call a Flash player function.
All that the implementor needs to do is to forward the request to the Flash player in a
platform-dependent manner and return the xml string received from Flash. No other
processing should be done.
Implements ilog::FlashPlayerCtrl (p.107).
virtual int ilog::Msw_FlashPlayerCtrl::Get_AlignMode () [virtual]
Implements ilog::IFlashPlayer (p.118).
virtual int ilog::Msw_FlashPlayerCtrl::Get_BackgroundColor () [virtual]
Implements ilog::IFlashPlayer (p.118).
virtual int ilog::Msw_FlashPlayerCtrl::Get_FrameNum () [virtual]
Implements ilog::IFlashPlayer (p.118).
virtual bool ilog::Msw_FlashPlayerCtrl::Get_Loop () [virtual]
Implements ilog::IFlashPlayer (p.118).
virtual wxString ilog::Msw_FlashPlayerCtrl::Get_Movie () [virtual]
Implements ilog::IFlashPlayer (p.118).
virtual bool ilog::Msw_FlashPlayerCtrl::Get_Playing () [virtual]
Implements ilog::IFlashPlayer (p.118).
virtual int ilog::Msw_FlashPlayerCtrl::Get_Quality () [virtual]
Implements ilog::IFlashPlayer (p.118).
156
virtual int ilog::Msw_FlashPlayerCtrl::Get_ReadyState () [virtual]
Implements ilog::IFlashPlayer (p.118).
virtual int ilog::Msw_FlashPlayerCtrl::Get_ScaleMode () [virtual]
Implements ilog::IFlashPlayer (p.119).
virtual int ilog::Msw_FlashPlayerCtrl::Get_TotalFrames () [virtual]
Implements ilog::IFlashPlayer (p.119).
virtual As::AnyType ilog::Msw_FlashPlayerCtrl::GetVariable (const wxString & var_name) [virtual]
Implements ilog::IFlashPlayer (p.119).
virtual void ilog::Msw_FlashPlayerCtrl::GotoFrame (int frame_num) [virtual]
Implements ilog::IFlashPlayer (p.119).
virtual bool ilog::Msw_FlashPlayerCtrl::IsPlaying () [virtual]
Implements ilog::IFlashPlayer (p.119).
virtual void ilog::Msw_FlashPlayerCtrl::LoadMovie (int layer, const wxString & url) [virtual]
Implements ilog::IFlashPlayer (p.119).
void ilog::Msw_FlashPlayerCtrl::OnActiveXEvent (wxActiveXEvent & evt)
Responds to ActiveX events in order to dispatch Flash -> C++ function calls.
virtual void ilog::Msw_FlashPlayerCtrl::Pan (int x, int y, int mode) [virtual]
Implements ilog::IFlashPlayer (p.119).
virtual int ilog::Msw_FlashPlayerCtrl::PercentLoaded () [virtual]
Implements ilog::IFlashPlayer (p.119).
virtual void ilog::Msw_FlashPlayerCtrl::Play () [virtual]
Implements ilog::IFlashPlayer (p.119).
virtual void ilog::Msw_FlashPlayerCtrl::Rewind () [virtual]
Implements ilog::IFlashPlayer (p.120).
157
virtual void ilog::Msw_FlashPlayerCtrl::Set_AlignMode (int mode) [virtual]
Implements ilog::IFlashPlayer (p.120).
virtual void ilog::Msw_FlashPlayerCtrl::Set_BackgroundColor (int color) [virtual]
Implements ilog::IFlashPlayer (p.120).
virtual void ilog::Msw_FlashPlayerCtrl::Set_FrameNum (int frame_num) [virtual]
Implements ilog::IFlashPlayer (p.120).
virtual void ilog::Msw_FlashPlayerCtrl::Set_Loop (bool loop) [virtual]
Implements ilog::IFlashPlayer (p.120).
virtual void ilog::Msw_FlashPlayerCtrl::Set_Movie (const wxString & movie) [virtual]
Implements ilog::IFlashPlayer (p.120).
virtual void ilog::Msw_FlashPlayerCtrl::Set_Playing (bool playing) [virtual]
Implements ilog::IFlashPlayer (p.120).
virtual void ilog::Msw_FlashPlayerCtrl::Set_Quality (int quality) [virtual]
Implements ilog::IFlashPlayer (p.120).
virtual void ilog::Msw_FlashPlayerCtrl::Set_ScaleMode (int mode) [virtual]
Implements ilog::IFlashPlayer (p.120).
virtual void ilog::Msw_FlashPlayerCtrl::SetVariable (const wxString & var_name, const
wxString & value) [virtual]
Implements ilog::IFlashPlayer (p.120).
virtual void ilog::Msw_FlashPlayerCtrl::SetZoomRect (int left, int top, int right, int
bottom) [virtual]
Implements ilog::IFlashPlayer (p.120).
virtual void ilog::Msw_FlashPlayerCtrl::StopPlay () [virtual]
Implements ilog::IFlashPlayer (p.121).
158
virtual void ilog::Msw_FlashPlayerCtrl::TCallFrame (const wxString & target, int
frame_num) [virtual]
Implements ilog::IFlashPlayer (p.121).
virtual void ilog::Msw_FlashPlayerCtrl::TCallLabel (const wxString & target, const wxString & label) [virtual]
Implements ilog::IFlashPlayer (p.121).
virtual int ilog::Msw_FlashPlayerCtrl::TCurrentFrame (const wxString & target) [virtual]
Implements ilog::IFlashPlayer (p.121).
virtual wxString ilog::Msw_FlashPlayerCtrl::TCurrentLabel (const wxString & target) [virtual]
Implements ilog::IFlashPlayer (p.121).
virtual wxString ilog::Msw_FlashPlayerCtrl::TGetProperty (const wxString & target, int
property) [virtual]
Implements ilog::IFlashPlayer (p.121).
virtual int ilog::Msw_FlashPlayerCtrl::TGetPropertyAsNumber (const wxString & target,
int property) [virtual]
Implements ilog::IFlashPlayer (p.121).
virtual void ilog::Msw_FlashPlayerCtrl::TGotoFrame (const wxString & target, int
frame_num) [virtual]
Implements ilog::IFlashPlayer (p.121).
virtual void ilog::Msw_FlashPlayerCtrl::TGotoLabel (const wxString & target, const
wxString & label) [virtual]
Implements ilog::IFlashPlayer (p.121).
virtual int ilog::Msw_FlashPlayerCtrl::TotalFrames () [virtual]
Implements ilog::IFlashPlayer (p.121).
virtual void ilog::Msw_FlashPlayerCtrl::TPlay (const wxString & target) [virtual]
Implements ilog::IFlashPlayer (p.121).
159
virtual void ilog::Msw_FlashPlayerCtrl::TSetProperty (const wxString & target, int
property, int value) [virtual]
Implements ilog::IFlashPlayer (p.122).
virtual void ilog::Msw_FlashPlayerCtrl::TSetProperty (const wxString & target, int property, const wxString & value) [virtual]
Implements ilog::IFlashPlayer (p.122).
virtual void ilog::Msw_FlashPlayerCtrl::TStopPlay (const wxString & target) [virtual]
Implements ilog::IFlashPlayer (p.122).
virtual void ilog::Msw_FlashPlayerCtrl::Zoom (int percent) [virtual]
Implements ilog::IFlashPlayer (p.122).
ilog::MxmlParser Class Reference Parser for creating Flash component hierarchy from MXML source.
#include <mxml_parser.h>
Public Member Functions
MxmlParser (As::FlashInterface::Ptr flash_interface)
bool operator() (shared_ptr< wxXmlDocument > xml)
Detailed Description
Parser for creating Flash component hierarchy from MXML source.
Constructor & Destructor Documentation
ilog::MxmlParser::MxmlParser (As::FlashInterface::Ptr flash_interface)
Create a parser that generats components in the given FlashInterface.
Member Function Documentation
bool ilog::MxmlParser::operator() (shared_ptr< wxXmlDocument > xml)
Parse the given MXML source document.
160
ilog::MxmlParsingException Class Reference Exception indicating an error while parsing an MXML source file.
#include <mxml_parser.h>
Inherits std::runtime_error.Public Member Functions
MxmlParsingException (const wxString &cause)
Detailed Description
Exception indicating an error while parsing an MXML source file.
Constructor & Destructor Documentation
ilog::MxmlParsingException::MxmlParsingException (const wxString & cause) [inline]
ilog::MyApp Class Reference wxApp subclass for the IFE application
#include <main.h>
Public Member Functions
MyApp ()
~MyApp ()
virtual int OnExit ()
virtual void HandleEvent (wxEvtHandler *handler, wxEventFunction func, wxEvent &event) const
virtual bool OnInit ()
virtual int OnRun ()
Detailed Description
wxApp subclass for the IFE application
Constructor & Destructor Documentation
ilog::MyApp::MyApp ()
ilog::MyApp::~MyApp ()
161
Member Function Documentation
virtual void ilog::MyApp::HandleEvent (wxEvtHandler * handler, wxEventFunction func, wxEvent & event) const [virtual]
virtual int ilog::MyApp::OnExit () [virtual]
virtual bool ilog::MyApp::OnInit () [virtual]
virtual int ilog::MyApp::OnRun () [virtual]
ilog::NullDeleter Struct Reference A functor that does nothing.
#include <null_deleter.h>
Public Member Functions
void operator() (const void *) const
Detailed Description
A functor that does nothing.
Pass a NullDeleter as the 'deleter' parameter to the constructor of a boost smart pointer to prevent
the pointer from deleting the held object.
Member Function Documentation
void ilog::NullDeleter::operator() (const void *) const [inline]
ilog::As::Object Class Reference Class representing an Actionscript Object that can be used in STL containers.
#include <object.h>
Public Types
typedef AnyTypeMap::key_type key_type
typedef AnyTypeMap::mapped_type mapped_type
typedef AnyTypeMap::value_type value_type
typedef AnyTypeMap::reference reference
typedef AnyTypeMap::const_reference const_reference
typedef AnyTypeMap::size_type size_type
typedef AnyTypeMap::difference_type difference_type
162
typedef AnyTypeMap::iterator iterator
typedef AnyTypeMap::const_iterator const_iterator
typedef AnyTypeMap::reverse_iterator reverse_iterator
typedef AnyTypeMap::const_reverse_iterator const_reverse_iterator
Public Member Functions
Object ()
Object (const AnyTypeMap &fields)
Object (shared_ptr< AnyTypeMap > fields)
Object (const Object &that)
~Object ()
Object & operator= (const Object &that)
Object Clone () const
iterator begin ()
const_iterator begin () const
iterator end ()
const_iterator end () const
reverse_iterator rbegin ()
const_reverse_iterator rbegin () const
reverse_iterator rend ()
const_reverse_iterator rend () const
size_type size () const
bool empty () const
void erase (iterator position)
size_type erase (const key_type &x)
void erase (iterator first, iterator last)
std::pair< iterator, bool > insert (const value_type &x)
iterator insert (iterator position, const value_type &x)
template<typename InputIterator > void insert (InputIterator first, InputIterator last)
iterator find (const key_type &key)
const_iterator find (const key_type &key) const
mapped_type & operator[] (const wxString &name)
mapped_type operator[] (const wxString &name) const
bool operator< (const Object &that) const
bool operator== (const Object &that) const
bool operator!= (const Object &that) const
Detailed Description
Class representing an Actionscript Object that can be used in STL containers.
Implements most of the std::map interface.
Object is a reference type. If you need to make a deep copy of an Object, you must use
Object::Clone().
Member Typedef Documentation
typedef AnyTypeMap::const_iterator ilog::As::Object::const_iterator
Const iterator -- supports all operations of std::map::const_iterator.
163
typedef AnyTypeMap::const_reference ilog::As::Object::const_reference
Const reference to mapped_type.
typedef AnyTypeMap::const_reverse_iterator ilog::As::Object::const_reverse_iterator
Const reverse iterator -- supports all operations of std::map::const_reverse_iterator.
typedef AnyTypeMap::difference_type ilog::As::Object::difference_type
Difference type of Object.
typedef AnyTypeMap::iterator ilog::As::Object::iterator
Iterator -- supports all operations of std::map::iterator.
typedef AnyTypeMap::key_type ilog::As::Object::key_type
Key type of Object.
typedef AnyTypeMap::mapped_type ilog::As::Object::mapped_type
Mapped type of Object.
typedef AnyTypeMap::reference ilog::As::Object::reference
Reference to mapped_type.
typedef AnyTypeMap::reverse_iterator ilog::As::Object::reverse_iterator
Reverse iterator -- supports all operations of std::map::reverse_iterator.
typedef AnyTypeMap::size_type ilog::As::Object::size_type
Size type of Object.
typedef AnyTypeMap::value_type ilog::As::Object::value_type
Value type of Object.
Constructor & Destructor Documentation
ilog::As::Object::Object () [inline]
Default ctor.
ilog::As::Object::Object (const AnyTypeMap & fields) [inline, explicit]
Copies 'fields' since we're not sure if it was created on the stack or on the heap.
This constructor is explicit so that you don't accidentally make lots of expensive copies
through implicit conversions.
ilog::As::Object::Object (shared_ptr< AnyTypeMap > fields) [inline, explicit]
Initialize Object from shared pointer to AnyTypeMap.
This ctor copies the pointer, so operations on the pointee AnyTypeMap will affect the
contents of this Object instance.
ilog::As::Object::Object (const Object & that) [inline]
Copy constructor.
164
Object is a reference type, so this makes a shallow copy. If you want a deep copy, use
Object::Clone().
ilog::As::Object::~Object () [inline]
Destructor.
Member Function Documentation
const_iterator ilog::As::Object::begin () const [inline]
Same as in std::map.
iterator ilog::As::Object::begin () [inline]
Same as in std::map.
Object ilog::As::Object::Clone () const [inline]
Make a deep copy of this Object instance.
bool ilog::As::Object::empty () const [inline]
Same as in std::map.
const_iterator ilog::As::Object::end () const [inline]
Same as in std::map.
iterator ilog::As::Object::end () [inline]
Same as in std::map.
void ilog::As::Object::erase (iterator first, iterator last) [inline]
Same as in std::map.
size_type ilog::As::Object::erase (const key_type & x) [inline]
Same as in std::map.
void ilog::As::Object::erase (iterator position) [inline]
Same as in std::map.
const_iterator ilog::As::Object::find (const key_type & key) const [inline]
Same as in std::map.
iterator ilog::As::Object::find (const key_type & key) [inline]
Same as in std::map.
template<typename InputIterator > void ilog::As::Object::insert (InputIterator first,
InputIterator last) [inline]
Same as in std::map.
iterator ilog::As::Object::insert (iterator position, const value_type & x) [inline]
Same as in std::map.
165
std::pair<iterator, bool> ilog::As::Object::insert (const value_type & x) [inline]
Same as in std::map.
bool ilog::As::Object::operator!= (const Object & that) const [inline]
This is identity-of-reference equivalence.
bool ilog::As::Object::operator< (const Object & that) const [inline]
This method is for the use of ordered STL containers ONLY.
In general, the concept of "ordering" does not make sense for an Object.
Object& ilog::As::Object::operator= (const Object & that) [inline]
Overloaded assignment operator. Object is a reference type, so this makes a shallow copy.
bool ilog::As::Object::operator== (const Object & that) const [inline]
This is identity-of-reference equivalence.
mapped_type ilog::As::Object::operator[] (const wxString & name) const [inline]
Same as in std::map.
mapped_type& ilog::As::Object::operator[] (const wxString & name) [inline]
Same as in std::map.
const_reverse_iterator ilog::As::Object::rbegin () const [inline]
Same as in std::map.
reverse_iterator ilog::As::Object::rbegin () [inline]
Same as in std::map.
const_reverse_iterator ilog::As::Object::rend () const [inline]
Same as in std::map.
reverse_iterator ilog::As::Object::rend () [inline]
Same as in std::map.
size_type ilog::As::Object::size () const [inline]
Same as in std::map.
ilog::qti::ObjectFlow Class Reference
#include <content_model.h>
Inheritance diagram for ilog::qti::ObjectFlow:
166
Public Types
typedef shared_ptr< ObjectFlow > Ptr
Static Public Member Functions
static Ptr CreateFromXml (const wxXmlNode *root_node)
Member Typedef Documentation
typedef shared_ptr<ObjectFlow> ilog::qti::ObjectFlow::Ptr
Reimplemented from ilog::qti::Element (p.94).
Reimplemented in ilog::qti::Flow (p.108), ilog::qti::FlowStatic (p.110), ilog::qti::SimpleInline
(p.201), ilog::qti::BlockInteraction (p.53), ilog::qti::TextRun (p.209), ilog::qti::Span (p.206),
ilog::qti::ChoiceInteraction (p.65), and ilog::qti::MatchInteraction (p.148).
Member Function Documentation
static Ptr ilog::qti::ObjectFlow::CreateFromXml (const wxXmlNode * root_node) [static]
Reimplemented in ilog::qti::Flow (p.109), ilog::qti::FlowStatic (p.111), ilog::qti::SimpleInline
(p.202), and ilog::qti::BlockInteraction (p.54).
167
ilog::OptionListBuilder Class Reference A graphical control that lets the user enter lines of text and add them to a list.
#include <option_list_builder.h>
Public Member Functions
OptionListBuilder (wxWindow *parent, wxWindowID id=wxID_ANY, const wxPoint
&pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=wxTAB_TRAVERSAL,
const wxString &name="OptionListBuilder")
~OptionListBuilder ()
void OnAdd (wxCommandEvent &evt)
void OnDelete (wxCommandEvent &evt)
DECLARE_EVENT_TABLE ()
DECLARE_ABSTRACT_CLASS (OptionListBuilder)
Detailed Description
A graphical control that lets the user enter lines of text and add them to a list.
This is similar to the controls used to i.e. add include directories in MSVC.
Constructor & Destructor Documentation
ilog::OptionListBuilder::OptionListBuilder (wxWindow * parent, wxWindowID id =
wxID_ANY, const wxPoint & pos = wxDefaultPosition, const wxSize & size =
wxDefaultSize, long style = wxTAB_TRAVERSAL, const wxString & name =
"OptionListBuilder")
ilog::OptionListBuilder::~OptionListBuilder ()
Member Function Documentation
ilog::OptionListBuilder::DECLARE_ABSTRACT_CLASS (OptionListBuilder)
ilog::OptionListBuilder::DECLARE_EVENT_TABLE ()
void ilog::OptionListBuilder::OnAdd (wxCommandEvent & evt)
void ilog::OptionListBuilder::OnDelete (wxCommandEvent & evt)
ilog::OrganizerNotebook Class Reference A wxNotebook containing controls for manipulating the organization of the project.
#include <organizer_notebook.h>
168
Public Member Functions
OrganizerNotebook (wxWindow *parent, wxWindowID id, const wxPoint &pos=wxDefaultPosition,
const wxSize &size=wxDefaultSize, long style=0, const wxString &name=wxNotebookNameStr)
~OrganizerNotebook ()
void Initialize (SlideChooser *slide_chooser, ComponentsPanel *components_panel)
SlideChooser * GetSlideChooser ()
ComponentsPanel * GetComponentsPanel ()
Detailed Description
A wxNotebook containing controls for manipulating the organization of the project.
Constructor & Destructor Documentation
ilog::OrganizerNotebook::OrganizerNotebook (wxWindow * parent, wxWindowID id,
const wxPoint & pos = wxDefaultPosition, const wxSize & size = wxDefaultSize,
long style = 0, const wxString & name = wxNotebookNameStr)
ilog::OrganizerNotebook::~OrganizerNotebook ()
Member Function Documentation
ComponentsPanel* ilog::OrganizerNotebook::GetComponentsPanel () [inline]
SlideChooser* ilog::OrganizerNotebook::GetSlideChooser () [inline]
void ilog::OrganizerNotebook::Initialize (SlideChooser * slide_chooser, ComponentsPanel * components_panel)
ilog::qti::OutcomeRule Class Reference #include <outcome.h>
Inheritance diagram for ilog::qti::OutcomeRule:
169
Public Types
typedef shared_ptr< OutcomeRule > Ptr
Member Typedef Documentation
typedef shared_ptr<OutcomeRule> ilog::qti::OutcomeRule::Ptr
Reimplemented from ilog::qti::Element (p.94).
Reimplemented in ilog::qti::SetOutcomeValue (p.194).
ilog::Project Class Reference Describes the data contained in the IFE project manifest.
#include <project_manager.h>
Public Member Functions
~Project ()
wxString GetName ()
void SetName (const wxString &name)
wxString GetSourceName ()
std::vector< wxString > GetContributors ()
void SetContributors (const std::vector< wxString > &names)
std::vector< wxString > GetCreators ()
void SetCreators (const std::vector< wxString > &names)
wxString GetDate ()
void SetDate (const wxString &date)
wxString GetDescription ()
void SetDescription (const wxString &desc)
wxString GetPublisher ()
void SetPublisher (const wxString &publisher)
wxString GetTitle ()
void SetTitle (const wxString &title)
Friends
class ProjectManager
Detailed Description
Describes the data contained in the IFE project manifest.
170
Constructor & Destructor Documentation
ilog::Project::~Project ()
Member Function Documentation
std::vector<wxString> ilog::Project::GetContributors ()
std::vector<wxString> ilog::Project::GetCreators ()
wxString ilog::Project::GetDate ()
wxString ilog::Project::GetDescription ()
wxString ilog::Project::GetName ()
wxString ilog::Project::GetPublisher ()
wxString ilog::Project::GetSourceName ()
wxString ilog::Project::GetTitle ()
void ilog::Project::SetContributors (const std::vector< wxString > & names)
void ilog::Project::SetCreators (const std::vector< wxString > & names)
void ilog::Project::SetDate (const wxString & date)
void ilog::Project::SetDescription (const wxString & desc)
void ilog::Project::SetName (const wxString & name)
void ilog::Project::SetPublisher (const wxString & publisher)
void ilog::Project::SetTitle (const wxString & title)
Friends And Related Function Documentation
friend class ProjectManager [friend]
ilog::ProjectManager Class Reference A singleton class that manages the global state of the current project.
#include <project_manager.h>
171
Public Member Functions
~ProjectManager ()
Project & CreateNewProject (As::FlashInterface::Ptr flash_interface)
Project & CurrentProject ()
wxFileName GetProjectDirectory () const
void PublishProject (wxFileName name, As::FlashInterface::Ptr flash_interface)
void LoadProject (wxFileName full_path, As::FlashInterface::Ptr flash_interface)
void SaveProject (wxFileName full_path, As::FlashInterface::Ptr flash_interface)
Static Public Member Functions
static ProjectManager & instance () throw ()
Friends
class Project
Detailed Description
A singleton class that manages the global state of the current project.
Constructor & Destructor Documentation
ilog::ProjectManager::~ProjectManager () [inline]
Member Function Documentation
Project& ilog::ProjectManager::CreateNewProject (As::FlashInterface::Ptr flash_interface)
Create an empty project in the given FlashInterface.
Project& ilog::ProjectManager::CurrentProject ()
Get the current Project object.
wxFileName ilog::ProjectManager::GetProjectDirectory () const
Get the directory containing the project file.
static ProjectManager& ilog::ProjectManager::instance () throw () [inline, static]
void ilog::ProjectManager::LoadProject (wxFileName full_path, As::FlashInterface::Ptr flash_interface)
Load the project file at the given path.
void ilog::ProjectManager::PublishProject (wxFileName name, As::FlashInterface::Ptr flash_interface)
Pushlish the project to a Flash executable.
172
void ilog::ProjectManager::SaveProject (wxFileName full_path, As::FlashInterface::Ptr flash_interface)
Save the project file to the given path.
Friends And Related Function Documentation
friend class Project [friend]
ilog::qti::Prompt Class Reference
#include <content_model.h>
Inheritance diagram for ilog::qti::Prompt:
Public Types
typedef shared_ptr< Prompt > Ptr
Public Member Functions
wxString GetName () const
wxString Instantiate (shared_ptr< As::FlashInterface > flash_interface, As::ComponentHandle
parent, int style=0)
wxXmlNode * Serialize () const
void InitializeFromXml (const wxXmlNode *root_node)
Static Public Member Functions
static Ptr Create ()
static Ptr Create (const wxXmlNode *root_node)
Protected Member Functions
Prompt ()
Prompt (const wxXmlNode *root_node)
173
Member Typedef Documentation
typedef shared_ptr<Prompt> ilog::qti::Prompt::Ptr
Reimplemented from ilog::qti::BodyElement (p.55).
Constructor & Destructor Documentation
ilog::qti::Prompt::Prompt () [protected]
ilog::qti::Prompt::Prompt (const wxXmlNode * root_node) [explicit, protected]
Member Function Documentation
static Ptr ilog::qti::Prompt::Create (const wxXmlNode * root_node) [static]
static Ptr ilog::qti::Prompt::Create () [static]
wxString ilog::qti::Prompt::GetName () const [inline, virtual]
This pure virtual method allows abstract base classes to know the name of the XML element
that represents their concrete descendants.
It should only be implemented in classes that correspond to a concrete (non-abstract) QTI
element.
Implements ilog::qti::Element (p.95).
void ilog::qti::Prompt::InitializeFromXml (const wxXmlNode * root_node) [virtual]
Reimplemented from ilog::qti::BodyElement (p.57).
wxString ilog::qti::Prompt::Instantiate (shared_ptr< As::FlashInterface > flash_interface,
As::ComponentHandle parent, int style = 0) [virtual]
This function creates a tree of Flash graphical objects to which the BodyElement can be
mapped, and returns a mapping describing which graphical component corresponds to which
QTI component ID.
Implements ilog::qti::IInstantiable (p.123).
wxXmlNode* ilog::qti::Prompt::Serialize () const [virtual]
Reimplemented from ilog::qti::BodyElement (p.57).
174
ilog::PropertiesDisplayPanel Class Reference An abstract wxPanel subclass that implements the IPropertiesDisplayer interface.
#include <properties_display_panel.h>
Inheritance diagram for ilog::PropertiesDisplayPanel:
Public Member Functions
PropertiesDisplayPanel (wxWindow *parent, wxWindowID id, const wxPoint
&pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=0)
virtual ~PropertiesDisplayPanel ()
Detailed Description
An abstract wxPanel subclass that implements the IPropertiesDisplayer interface.
Constructor & Destructor Documentation
ilog::PropertiesDisplayPanel::PropertiesDisplayPanel (wxWindow * parent, wxWindowID
id, const wxPoint & pos = wxDefaultPosition, const wxSize & size = wxDefaultSize,
long style = 0) [inline]
virtual ilog::PropertiesDisplayPanel::~PropertiesDisplayPanel () [inline, virtual]
ilog::PropertiesPanel Class Reference
#include <properties_panel.h>
Inheritance diagram for ilog::PropertiesPanel:
Public Member Functions
PropertiesPanel (wxWindow *parent, wxWindowID id, As::FlashInterface::Ptr flash_interface)
~PropertiesPanel ()
void DisplayPropertiesFor (As::ComponentHandle h_comp)
175
Detailed Description
Deprecated:
Constructor & Destructor Documentation
ilog::PropertiesPanel::PropertiesPanel (wxWindow * parent, wxWindowID id, As::FlashInterface::Ptr flash_interface)
ilog::PropertiesPanel::~PropertiesPanel ()
Member Function Documentation
void ilog::PropertiesPanel::DisplayPropertiesFor (As::ComponentHandle h_comp) [virtual]
Display all properties for the given component that the control supports.
Implements ilog::IPropertiesDisplayer (p.132).
ilog::As::PropertyCache Class Reference A cache for the properties of Flash components featuring constant-time lookup.
#include <property_cache.h>
Public Member Functions
PropertyCache (IFlashPlayer *flash_player)
void Clear ()
void Clear (ComponentHandle h_comp)
void Clear (ComponentHandle h_comp, const wxString &prop_name)
std::pair< AnyType, bool > GetCached (ComponentHandle h_comp, const wxString &prop_name)
const
Object GetModifiedProperties (ComponentHandle h_comp) const
Object GetProperties (ComponentHandle h_comp, const std::vector< wxString > &prop_names)
const
AnyType GetProperty (ComponentHandle h_comp, const wxString &prop_name) const
void MarkDirty (ComponentHandle h_comp, const wxString &prop_name)
void SetProperties (ComponentHandle h_comp, Object properties)
void SetProperty (ComponentHandle h_comp, const wxString &prop_name, AnyType value)
Detailed Description
A cache for the properties of Flash components featuring constant-time lookup.
176
Getting a property value of a Flash component is by far the most commonly used operation
requiring message passing between C++ and Flash. Not only is the call across the C++ <-> Flash
communication channel expensive, but it also requires a key lookup on the Flash side, which is
much slower than the same operation in C++. The PropertyCache class stores the properties of
Flash components on first access, enabling subsequent GetProperty requests for previously-
accessed properties to be completed in constant time while bypassing the C++ -> Flash -> C++
round trip.
To use PropertyCache, initialize an instance with the IFlashPlayer instance for which you want
to cache properties, and make sure that all Get/Set property calls on that flash player delegate to
the PropertyCache.
Constructor & Destructor Documentation
ilog::As::PropertyCache::PropertyCache (IFlashPlayer * flash_player) [explicit]
Construct a PropertyCache for the given IFlashPlayer instance.
'flash_interface' must not be NULL and must not be deleted as long as the PropertyCache
instance is being used. Calls to PropertyCache functions do not check the internal
IFlashPlayer pointer.
Member Function Documentation
void ilog::As::PropertyCache::Clear (ComponentHandle h_comp, const wxString & prop_name)
Clear the cache entry for property 'prop_name' of component 'h_comp'.
void ilog::As::PropertyCache::Clear (ComponentHandle h_comp)
Clear the cache for component 'h_comp'.
void ilog::As::PropertyCache::Clear ()
Clear the entire cache.
std::pair<AnyType, bool> ilog::As::PropertyCache::GetCached (ComponentHandle h_comp, const wxString & prop_name) const
Get the cached value of property 'prop_name' for component 'h_comp'.
If the bool part of the returned pair is false, the cached value is not valid, either because no
value has been cached for this property or because it is dirty.
Object ilog::As::PropertyCache::GetModifiedProperties (ComponentHandle h_comp) const
Object ilog::As::PropertyCache::GetProperties (ComponentHandle h_comp, const std::vector< wxString > & prop_names) const
Get the values of the properties named in 'prop_names' for component 'h_comp'.
AnyType ilog::As::PropertyCache::GetProperty (ComponentHandle h_comp, const wxString & prop_name) const
Get the value of property 'prop_name' for component 'h_comp'.
177
void ilog::As::PropertyCache::MarkDirty (ComponentHandle h_comp, const wxString & prop_name)
Tell the cache that it needs to refresh the value of 'prop_name' for component 'h_comp' the
next time it is looked up, but do not remove the entry from the cache.
This function is more efficient than Clear( h_comp, prop_name ) because the cache will not
have to re-allocate storage for the property if it is accessed again.
void ilog::As::PropertyCache::SetProperties (ComponentHandle h_comp, Object properties)
Set the values of the properties of h_comp to those in 'properties'.
An entry will be added to the cache for each property, and exactly one C++ -> Flash call will
be made.
void ilog::As::PropertyCache::SetProperty (ComponentHandle h_comp, const wxString & prop_name, AnyType value)
Set the value of property 'prop_name' of component 'h_comp' to 'value'.
An entry will be added to the cache, and any "Get" requests for the property that occur before
the next "Set" request will return the cached value instead of calling to Flash.
ilog::PropertyEditor Class Reference A control for editing the properties of a Flash graphical component.
#include <property_editor.h>
Inheritance diagram for ilog::PropertyEditor:
Public Member Functions
PropertyEditor (wxWindow *parent, wxWindowID id, As::FlashInterface::Ptr flash_interface)
void DisplayPropertiesFor (As::ComponentHandle h_comp)
void RefreshProperty (const wxString &name)
void OnPropertyChanging (wxPropertyGridEvent &evt)
Detailed Description
A control for editing the properties of a Flash graphical component.
178
Constructor & Destructor Documentation
ilog::PropertyEditor::PropertyEditor (wxWindow * parent, wxWindowID id, As::FlashInterface::Ptr flash_interface)
Member Function Documentation
void ilog::PropertyEditor::DisplayPropertiesFor (As::ComponentHandle h_comp) [virtual]
Display properties for the given component.
Implements ilog::IPropertiesDisplayer (p.132).
void ilog::PropertyEditor::OnPropertyChanging (wxPropertyGridEvent & evt)
void ilog::PropertyEditor::RefreshProperty (const wxString & name)
Refresh the property with the given name.
ilog::PublishDialog Class Reference A dialog box that allows users to enter Flash publish metadata.
#include <publish_dialog.h>
Public Member Functions
PublishDialog (wxWindow *parent, wxWindowID id)
~PublishDialog ()
Detailed Description
A dialog box that allows users to enter Flash publish metadata.
Constructor & Destructor Documentation
ilog::PublishDialog::PublishDialog (wxWindow * parent, wxWindowID id)
ilog::PublishDialog::~PublishDialog ()
ilog::As::RangeError Class Reference
#include <exceptions.h>
Inheritance diagram for ilog::As::RangeError:
179
Public Member Functions
RangeError (const wxString &what)
Constructor & Destructor Documentation
ilog::As::RangeError::RangeError (const wxString & what) [inline]
ilog::As::ReferenceError Class Reference
#include <exceptions.h>
Inheritance diagram for ilog::As::ReferenceError:
Public Member Functions
ReferenceError (const wxString &what)
Constructor & Destructor Documentation
ilog::As::ReferenceError::ReferenceError (const wxString & what) [inline]
ilog::RemoveComponentCommand Class Reference A command that removes an Actionscript component from the screen.
#include <component_command.h>
Public Member Functions
RemoveComponentCommand (const wxString &name, As::FlashInterface::Ptr flash_interface,
As::ComponentHandle h_comp)
~RemoveComponentCommand ()
bool Do ()
bool Undo ()
180
Detailed Description
A command that removes an Actionscript component from the screen.
This command is used to implement both 'Delete' and 'Cut' operations.
Constructor & Destructor Documentation
ilog::RemoveComponentCommand::RemoveComponentCommand (const wxString & name, As::FlashInterface::Ptr flash_interface, As::ComponentHandle h_comp)
ilog::RemoveComponentCommand::~RemoveComponentCommand ()
Member Function Documentation
bool ilog::RemoveComponentCommand::Do ()
bool ilog::RemoveComponentCommand::Undo ()
ilog::qti::ResponseCondition Class Reference #include <response_processing.h>
Inheritance diagram for ilog::qti::ResponseCondition:
Public Types
typedef shared_ptr< ResponseCondition > Ptr
Public Member Functions
wxString GetName () const
ResponseIf::Ptr GetResponseIf () const
ResponseElse::Ptr GetResponseElse () const
void SetResponseElse (ResponseElse::Ptr response_else)
181
wxXmlNode * Serialize () const
void InitializeFromXml (const wxXmlNode *root_node)
ResponseCondition (const wxXmlNode *root_node)
Static Public Member Functions
static Ptr Create ()
static Ptr Create (const wxXmlNode *root_node)
static Ptr Create (ResponseIf::Ptr response_if)
Public Attributes
ResponseIf::Ptr m_pResponseIf
std::vector< ResponseElseIf::Ptr > m_ResponseElseIfs
ResponseElse::Ptr m_pResponseElse
Member Typedef Documentation
typedef shared_ptr<ResponseCondition> ilog::qti::ResponseCondition::Ptr
Reimplemented from ilog::qti::ResponseRule (p.192).
Constructor & Destructor Documentation
ilog::qti::ResponseCondition::ResponseCondition (const wxXmlNode * root_node) [explicit]
Member Function Documentation
static Ptr ilog::qti::ResponseCondition::Create (ResponseIf::Ptr response_if) [static]
static Ptr ilog::qti::ResponseCondition::Create (const wxXmlNode * root_node) [static]
static Ptr ilog::qti::ResponseCondition::Create () [static]
wxString ilog::qti::ResponseCondition::GetName () const [inline, virtual]
This pure virtual method allows abstract base classes to know the name of the XML element
that represents their concrete descendants.
It should only be implemented in classes that correspond to a concrete (non-abstract) QTI
element.
Implements ilog::qti::Element (p.95).
182
ResponseElse::Ptr ilog::qti::ResponseCondition::GetResponseElse () const [inline]
ResponseIf::Ptr ilog::qti::ResponseCondition::GetResponseIf () const [inline]
void ilog::qti::ResponseCondition::InitializeFromXml (const wxXmlNode * root_node) [virtual]
Reimplemented from ilog::qti::ISerializable (p.135).
wxXmlNode* ilog::qti::ResponseCondition::Serialize () const [virtual]
Reimplemented from ilog::qti::Element (p.96).
void ilog::qti::ResponseCondition::SetResponseElse (ResponseElse::Ptr response_else) [inline]
Member Data Documentation
ResponseElse::Ptr ilog::qti::ResponseCondition::m_pResponseElse
ResponseIf::Ptr ilog::qti::ResponseCondition::m_pResponseIf
std::vector<ResponseElseIf::Ptr> ilog::qti::ResponseCondition::m_ResponseElseIfs
ilog::qti::ResponseDeclaration Class Reference #include <content_model.h>
Inheritance diagram for ilog::qti::ResponseDeclaration:
Public Types
typedef shared_ptr< ResponseDeclaration > Ptr
Public Member Functions
wxString GetName () const
CorrectResponse::Ptr GetCorrectResponse () const
183
void SetCorrectResponse (CorrectResponse::Ptr response)
Mapping::Ptr GetMapping () const
void SetMapping (Mapping::Ptr mapping)
wxXmlNode * Serialize () const
void InitializeFromXml (const wxXmlNode *root_node)
Static Public Member Functions
static Ptr Create ()
static Ptr Create (const wxXmlNode *root_node)
static Ptr Create (Cardinality card, BaseType base_type, CorrectResponse::Ptr
correct_response=CorrectResponse::Ptr(), Mapping::Ptr mapping=Mapping::Ptr())
Protected Member Functions
ResponseDeclaration ()
ResponseDeclaration (Cardinality card, BaseType base_type, CorrectResponse::Ptr
correct_response=CorrectResponse::Ptr(), Mapping::Ptr mapping=Mapping::Ptr())
ResponseDeclaration (const wxXmlNode *root_node)
Member Typedef Documentation
typedef shared_ptr<ResponseDeclaration> ilog::qti::ResponseDeclaration::Ptr
Reimplemented from ilog::qti::VariableDeclaration (p.216).
Constructor & Destructor Documentation
ilog::qti::ResponseDeclaration::ResponseDeclaration () [protected]
ilog::qti::ResponseDeclaration::ResponseDeclaration (Cardinality card, BaseType
base_type, CorrectResponse::Ptr correct_response = CorrectResponse::Ptr(),
Mapping::Ptr mapping = Mapping::Ptr()) [protected]
ilog::qti::ResponseDeclaration::ResponseDeclaration (const wxXmlNode * root_node) [explicit, protected]
184
Member Function Documentation
static Ptr ilog::qti::ResponseDeclaration::Create (Cardinality card, BaseType base_type, CorrectResponse::Ptr correct_response = CorrectResponse::Ptr(), Mapping::Ptr
mapping = Mapping::Ptr()) [static]
static Ptr ilog::qti::ResponseDeclaration::Create (const wxXmlNode * root_node) [static]
static Ptr ilog::qti::ResponseDeclaration::Create () [static]
CorrectResponse::Ptr ilog::qti::ResponseDeclaration::GetCorrectResponse () const [inline]
Mapping::Ptr ilog::qti::ResponseDeclaration::GetMapping () const [inline]
wxString ilog::qti::ResponseDeclaration::GetName () const [inline, virtual]
This pure virtual method allows abstract base classes to know the name of the XML element
that represents their concrete descendants.
It should only be implemented in classes that correspond to a concrete (non-abstract) QTI
element.
Implements ilog::qti::Element (p.95).
void ilog::qti::ResponseDeclaration::InitializeFromXml (const wxXmlNode * root_node) [virtual]
Reimplemented from ilog::qti::VariableDeclaration (p.217).
wxXmlNode* ilog::qti::ResponseDeclaration::Serialize () const [virtual]
Reimplemented from ilog::qti::VariableDeclaration (p.217).
void ilog::qti::ResponseDeclaration::SetCorrectResponse (CorrectResponse::Ptr
response) [inline]
void ilog::qti::ResponseDeclaration::SetMapping (Mapping::Ptr mapping) [inline]
ilog::qti::ResponseElse Class Reference
#include <response_processing.h>
Inheritance diagram for ilog::qti::ResponseElse:
185
Public Types
typedef shared_ptr< ResponseElse > Ptr
Public Member Functions
wxString GetName () const
wxXmlNode * Serialize () const
void InitializeFromXml (const wxXmlNode *root_node)
Static Public Member Functions
static Ptr Create ()
static Ptr Create (const wxXmlNode *root_node)
Protected Member Functions
ResponseElse ()
ResponseElse (const wxXmlNode *root_node)
Member Typedef Documentation
typedef shared_ptr<ResponseElse> ilog::qti::ResponseElse::Ptr
Reimplemented from ilog::qti::Element (p.94).
Constructor & Destructor Documentation
ilog::qti::ResponseElse::ResponseElse () [protected]
ilog::qti::ResponseElse::ResponseElse (const wxXmlNode * root_node) [explicit, protected]
186
Member Function Documentation
static Ptr ilog::qti::ResponseElse::Create (const wxXmlNode * root_node) [static]
static Ptr ilog::qti::ResponseElse::Create () [static]
wxString ilog::qti::ResponseElse::GetName () const [inline, virtual]
This pure virtual method allows abstract base classes to know the name of the XML element
that represents their concrete descendants.
It should only be implemented in classes that correspond to a concrete (non-abstract) QTI
element.
Implements ilog::qti::Element (p.95).
void ilog::qti::ResponseElse::InitializeFromXml (const wxXmlNode * root_node) [virtual]
Reimplemented from ilog::qti::ISerializable (p.135).
wxXmlNode* ilog::qti::ResponseElse::Serialize () const [virtual]
Reimplemented from ilog::qti::Element (p.96).
ilog::qti::ResponseElseIf Class Reference #include <response_processing.h>
Inheritance diagram for ilog::qti::ResponseElseIf:
Public Types
typedef shared_ptr< ResponseElseIf > Ptr
Public Member Functions
wxString GetName () const
187
Static Public Member Functions
static Ptr Create ()
static Ptr Create (const wxXmlNode *root_node)
static Ptr Create (Expression::Ptr ex)
Protected Member Functions
ResponseElseIf ()
ResponseElseIf (Expression::Ptr ex)
ResponseElseIf (const wxXmlNode *root_node)
Member Typedef Documentation
typedef shared_ptr<ResponseElseIf> ilog::qti::ResponseElseIf::Ptr
Reimplemented from ilog::qti::ResponseIf (p.188).
Constructor & Destructor Documentation
ilog::qti::ResponseElseIf::ResponseElseIf () [protected]
ilog::qti::ResponseElseIf::ResponseElseIf (Expression::Ptr ex) [explicit, protected]
ilog::qti::ResponseElseIf::ResponseElseIf (const wxXmlNode * root_node) [explicit, protected]
Member Function Documentation
static Ptr ilog::qti::ResponseElseIf::Create (Expression::Ptr ex) [static]
Reimplemented from ilog::qti::ResponseIf (p.189).
static Ptr ilog::qti::ResponseElseIf::Create (const wxXmlNode * root_node) [static]
Reimplemented from ilog::qti::ResponseIf (p.189).
static Ptr ilog::qti::ResponseElseIf::Create () [static]
Reimplemented from ilog::qti::ResponseIf (p.189).
wxString ilog::qti::ResponseElseIf::GetName () const [inline, virtual]
This pure virtual method allows abstract base classes to know the name of the XML element
that represents their concrete descendants.
It should only be implemented in classes that correspond to a concrete (non-abstract) QTI
element.
Reimplemented from ilog::qti::ResponseIf (p.189).
188
ilog::qti::ResponseIf Class Reference #include <response_processing.h>
Inheritance diagram for ilog::qti::ResponseIf:
Public Types
typedef shared_ptr< ResponseIf > Ptr
Public Member Functions
wxString GetName () const
Expression::Ptr GetExpression () const
wxXmlNode * Serialize () const
void InitializeFromXml (const wxXmlNode *root_node)
Static Public Member Functions
static Ptr Create ()
static Ptr Create (const wxXmlNode *root_node)
static Ptr Create (Expression::Ptr ex)
Protected Member Functions
ResponseIf ()
ResponseIf (Expression::Ptr ex)
ResponseIf (const wxXmlNode *root_node)
Member Typedef Documentation
typedef shared_ptr<ResponseIf> ilog::qti::ResponseIf::Ptr
Reimplemented from ilog::qti::Element (p.94).
Reimplemented in ilog::qti::ResponseElseIf (p.187).
189
Constructor & Destructor Documentation
ilog::qti::ResponseIf::ResponseIf () [protected]
ilog::qti::ResponseIf::ResponseIf (Expression::Ptr ex) [explicit, protected]
ilog::qti::ResponseIf::ResponseIf (const wxXmlNode * root_node) [explicit, protected]
Member Function Documentation
static Ptr ilog::qti::ResponseIf::Create (Expression::Ptr ex) [static]
Reimplemented in ilog::qti::ResponseElseIf (p.187).
static Ptr ilog::qti::ResponseIf::Create (const wxXmlNode * root_node) [static]
Reimplemented in ilog::qti::ResponseElseIf (p.187).
static Ptr ilog::qti::ResponseIf::Create () [static]
Reimplemented in ilog::qti::ResponseElseIf (p.187).
Expression::Ptr ilog::qti::ResponseIf::GetExpression () const [inline]
wxString ilog::qti::ResponseIf::GetName () const [inline, virtual]
This pure virtual method allows abstract base classes to know the name of the XML element
that represents their concrete descendants.
It should only be implemented in classes that correspond to a concrete (non-abstract) QTI
element.
Implements ilog::qti::Element (p.95).
Reimplemented in ilog::qti::ResponseElseIf (p.187).
void ilog::qti::ResponseIf::InitializeFromXml (const wxXmlNode * root_node) [virtual]
Reimplemented from ilog::qti::ISerializable (p.135).
wxXmlNode* ilog::qti::ResponseIf::Serialize () const [virtual]
Reimplemented from ilog::qti::Element (p.96).
ilog::qti::ResponseProcessing Class Reference #include <response_processing.h>
Inheritance diagram for ilog::qti::ResponseProcessing:
190
Public Types
typedef shared_ptr< ResponseProcessing > Ptr
Public Member Functions
wxString GetName () const
Uri GetTemplate () const
void SetTemplate (Uri template_uri)
Uri GetTemplateLocation () const
void SetTemplateLocation (Uri template_location)
wxXmlNode * Serialize () const
void InitializeFromXml (const wxXmlNode *root_node)
Static Public Member Functions
static Ptr Create (Uri template_uri=Uri(), Uri template_location=Uri())
static Ptr Create (const wxXmlNode *root_node)
Protected Member Functions
ResponseProcessing (Uri template_uri=Uri(), Uri template_location=Uri())
ResponseProcessing (const wxXmlNode *root_node)
Member Typedef Documentation
typedef shared_ptr<ResponseProcessing> ilog::qti::ResponseProcessing::Ptr
Reimplemented from ilog::qti::Element (p.94).
Constructor & Destructor Documentation
ilog::qti::ResponseProcessing::ResponseProcessing (Uri template_uri = Uri(), Uri
template_location = Uri()) [explicit, protected]
ilog::qti::ResponseProcessing::ResponseProcessing (const wxXmlNode * root_node) [explicit, protected]
191
Member Function Documentation
static Ptr ilog::qti::ResponseProcessing::Create (const wxXmlNode * root_node) [static]
static Ptr ilog::qti::ResponseProcessing::Create (Uri template_uri = Uri(), Uri
template_location = Uri()) [static]
wxString ilog::qti::ResponseProcessing::GetName () const [inline, virtual]
This pure virtual method allows abstract base classes to know the name of the XML element
that represents their concrete descendants.
It should only be implemented in classes that correspond to a concrete (non-abstract) QTI
element.
Implements ilog::qti::Element (p.95).
Uri ilog::qti::ResponseProcessing::GetTemplate () const [inline]
Uri ilog::qti::ResponseProcessing::GetTemplateLocation () const [inline]
void ilog::qti::ResponseProcessing::InitializeFromXml (const wxXmlNode * root_node) [virtual]
Reimplemented from ilog::qti::ISerializable (p.135).
wxXmlNode* ilog::qti::ResponseProcessing::Serialize () const [virtual]
Reimplemented from ilog::qti::Element (p.96).
void ilog::qti::ResponseProcessing::SetTemplate (Uri template_uri) [inline]
void ilog::qti::ResponseProcessing::SetTemplateLocation (Uri template_location) [inline]
ilog::qti::ResponseProcessingFragment Class Reference #include <response_processing.h>
Inheritance diagram for ilog::qti::ResponseProcessingFragment:
192
ilog::qti::ResponseRule Class Reference #include <response_processing.h>
Inheritance diagram for ilog::qti::ResponseRule:
Public Types
typedef shared_ptr< ResponseRule > Ptr
Static Public Member Functions
static Ptr CreateFromXml (const wxXmlNode *root_node)
Member Typedef Documentation
typedef shared_ptr<ResponseRule> ilog::qti::ResponseRule::Ptr
Reimplemented from ilog::qti::Element (p.94).
Reimplemented in ilog::qti::ResponseCondition (p.181), and ilog::qti::SetOutcomeValue (p.194).
Member Function Documentation
static Ptr ilog::qti::ResponseRule::CreateFromXml (const wxXmlNode * root_node) [static]
193
ilog::SetComponentPropertyCommand Class Reference A command that sets one or more properties of an Actionscript component.
#include <component_command.h>
Public Member Functions
SetComponentPropertyCommand (const wxString &name, As::FlashInterface::Ptr
flash_interface, As::ComponentHandle h_comp, As::Object prop_map)
SetComponentPropertyCommand (const wxString &name, As::FlashInterface::Ptr
flash_interface, As::ComponentHandle h_comp, const wxString &prop_name, const As::AnyType
&prop_val)
~SetComponentPropertyCommand ()
bool Do ()
bool Undo ()
Detailed Description
A command that sets one or more properties of an Actionscript component.
Constructor & Destructor Documentation
ilog::SetComponentPropertyCommand::SetComponentPropertyCommand (const wxString & name, As::FlashInterface::Ptr flash_interface, As::ComponentHandle h_comp, As::Object prop_map)
Constructor.
Use this overload to set more than one property in one operation.
ilog::SetComponentPropertyCommand::SetComponentPropertyCommand (const wxString & name, As::FlashInterface::Ptr flash_interface, As::ComponentHandle h_comp, const wxString & prop_name, const As::AnyType & prop_val)
Constructor.
Use this overload to set a single property.
ilog::SetComponentPropertyCommand::~SetComponentPropertyCommand ()
Member Function Documentation
bool ilog::SetComponentPropertyCommand::Do ()
bool ilog::SetComponentPropertyCommand::Undo ()
ilog::qti::SetOutcomeValue Class Reference #include <response_processing.h>
194
Inheritance diagram for ilog::qti::SetOutcomeValue:
Public Types
typedef shared_ptr< SetOutcomeValue > Ptr
Public Member Functions
wxString GetName () const
Identifier GetIdentifier () const
Expression::Ptr GetExpression () const
wxXmlNode * Serialize () const
void InitializeFromXml (const wxXmlNode *root_node)
Static Public Member Functions
static Ptr Create ()
static Ptr Create (const wxXmlNode *root_node)
static Ptr Create (Identifier id, Expression::Ptr expression)
Protected Member Functions
SetOutcomeValue ()
SetOutcomeValue (Identifier id, Expression::Ptr expression)
SetOutcomeValue (const wxXmlNode *root_node)
Member Typedef Documentation
typedef shared_ptr<SetOutcomeValue> ilog::qti::SetOutcomeValue::Ptr
Reimplemented from ilog::qti::OutcomeRule (p.169).
195
Constructor & Destructor Documentation
ilog::qti::SetOutcomeValue::SetOutcomeValue () [protected]
ilog::qti::SetOutcomeValue::SetOutcomeValue (Identifier id, Expression::Ptr expression) [protected]
ilog::qti::SetOutcomeValue::SetOutcomeValue (const wxXmlNode * root_node) [explicit, protected]
Member Function Documentation
static Ptr ilog::qti::SetOutcomeValue::Create (Identifier id, Expression::Ptr expression) [static]
static Ptr ilog::qti::SetOutcomeValue::Create (const wxXmlNode * root_node) [static]
static Ptr ilog::qti::SetOutcomeValue::Create () [static]
Expression::Ptr ilog::qti::SetOutcomeValue::GetExpression () const [inline]
Identifier ilog::qti::SetOutcomeValue::GetIdentifier () const [inline]
wxString ilog::qti::SetOutcomeValue::GetName () const [inline, virtual]
This pure virtual method allows abstract base classes to know the name of the XML element
that represents their concrete descendants.
It should only be implemented in classes that correspond to a concrete (non-abstract) QTI
element.
Implements ilog::qti::Element (p.95).
void ilog::qti::SetOutcomeValue::InitializeFromXml (const wxXmlNode * root_node) [virtual]
Reimplemented from ilog::qti::ISerializable (p.135).
wxXmlNode* ilog::qti::SetOutcomeValue::Serialize () const [virtual]
Reimplemented from ilog::qti::Element (p.96).
ilog::SharedPointerComparator< T > Class Template Reference Generic comparator for using shared_ptr objects as keys in ordered associative containers.
#include <shared_pointer_comparator.h>
Public Member Functions
SharedPointerComparator ()
196
int operator() (shared_ptr< T > a, shared_ptr< T > b)
Detailed Description
template<typename T> class ilog::SharedPointerComparator< T >
Generic comparator for using shared_ptr objects as keys in ordered associative containers.
Compares pointers by pointer address.
Constructor & Destructor Documentation
template<typename T > ilog::SharedPointerComparator< T >::SharedPointerComparator () [inline]
Member Function Documentation
template<typename T > int ilog::SharedPointerComparator< T >::operator() (shared_ptr< T > a, shared_ptr< T > b) [inline]
ilog::qti::SimpleAssociableChoice Class Reference #include <content_model.h>
Inheritance diagram for ilog::qti::SimpleAssociableChoice:
Public Types
typedef shared_ptr< SimpleAssociableChoice > Ptr
197
Public Member Functions
wxString GetName () const
Integer GetMatchMax () const
void SetMatchMax (Integer match_max)
Integer GetMatchMin () const
void SetMatchMin (Integer match_min)
bool IsSourceChoice () const
bool IsTargetChoice () const
void MakeSourceChoice ()
void MakeTargetChoice ()
virtual wxString Instantiate (shared_ptr< As::FlashInterface > flash_interface,
As::ComponentHandle parent, int style=0)
wxXmlNode * Serialize () const
void InitializeFromXml (const wxXmlNode *root_node)
Static Public Member Functions
static Ptr Create ()
static Ptr Create (const wxXmlNode *root_node)
static Ptr Create (Integer match_max, Integer match_min=0)
Protected Member Functions
SimpleAssociableChoice ()
SimpleAssociableChoice (Integer match_max, Integer match_min=0)
SimpleAssociableChoice (const wxXmlNode *root_node)
Member Typedef Documentation
typedef shared_ptr<SimpleAssociableChoice> ilog::qti::SimpleAssociableChoice::Ptr
Reimplemented from ilog::qti::AssociableChoice (p.49).
Constructor & Destructor Documentation
ilog::qti::SimpleAssociableChoice::SimpleAssociableChoice () [protected]
ilog::qti::SimpleAssociableChoice::SimpleAssociableChoice (Integer match_max, Integer
match_min = 0) [explicit, protected]
ilog::qti::SimpleAssociableChoice::SimpleAssociableChoice (const wxXmlNode *
root_node) [explicit, protected]
198
Member Function Documentation
static Ptr ilog::qti::SimpleAssociableChoice::Create (Integer match_max, Integer match_min = 0) [static]
static Ptr ilog::qti::SimpleAssociableChoice::Create (const wxXmlNode * root_node) [static]
static Ptr ilog::qti::SimpleAssociableChoice::Create () [static]
Integer ilog::qti::SimpleAssociableChoice::GetMatchMax () const [inline]
Integer ilog::qti::SimpleAssociableChoice::GetMatchMin () const [inline]
wxString ilog::qti::SimpleAssociableChoice::GetName () const [inline, virtual]
This pure virtual method allows abstract base classes to know the name of the XML element
that represents their concrete descendants.
It should only be implemented in classes that correspond to a concrete (non-abstract) QTI
element.
Implements ilog::qti::Element (p.95).
void ilog::qti::SimpleAssociableChoice::InitializeFromXml (const wxXmlNode * root_node) [virtual]
Reimplemented from ilog::qti::AssociableChoice (p.49).
virtual wxString ilog::qti::SimpleAssociableChoice::Instantiate (shared_ptr<
As::FlashInterface > flash_interface, As::ComponentHandle parent, int style = 0) [virtual]
This function creates a tree of Flash graphical objects to which the BodyElement can be
mapped, and returns a mapping describing which graphical component corresponds to which
QTI component ID.
Implements ilog::qti::IInstantiable (p.123).
bool ilog::qti::SimpleAssociableChoice::IsSourceChoice () const [inline]
bool ilog::qti::SimpleAssociableChoice::IsTargetChoice () const [inline]
void ilog::qti::SimpleAssociableChoice::MakeSourceChoice () [inline]
void ilog::qti::SimpleAssociableChoice::MakeTargetChoice () [inline]
wxXmlNode* ilog::qti::SimpleAssociableChoice::Serialize () const [virtual]
Reimplemented from ilog::qti::AssociableChoice (p.50).
199
void ilog::qti::SimpleAssociableChoice::SetMatchMax (Integer match_max) [inline]
void ilog::qti::SimpleAssociableChoice::SetMatchMin (Integer match_min) [inline]
ilog::qti::SimpleChoice Class Reference #include <content_model.h>
Inheritance diagram for ilog::qti::SimpleChoice:
Public Types
typedef shared_ptr< SimpleChoice > Ptr
Public Member Functions
wxString GetName () const
wxString Instantiate (shared_ptr< As::FlashInterface > flash_interface, As::ComponentHandle
parent, int style=0)
wxXmlNode * Serialize () const
void InitializeFromXml (const wxXmlNode *root_node)
Static Public Member Functions
static Ptr Create ()
static Ptr Create (const wxXmlNode *root_node)
Protected Member Functions
SimpleChoice ()
SimpleChoice (const wxXmlNode *root_node)
Member Typedef Documentation
typedef shared_ptr<SimpleChoice> ilog::qti::SimpleChoice::Ptr
200
Reimplemented from ilog::qti::Choice (p.62).
Constructor & Destructor Documentation
ilog::qti::SimpleChoice::SimpleChoice () [protected]
ilog::qti::SimpleChoice::SimpleChoice (const wxXmlNode * root_node) [explicit, protected]
Member Function Documentation
static Ptr ilog::qti::SimpleChoice::Create (const wxXmlNode * root_node) [static]
static Ptr ilog::qti::SimpleChoice::Create () [static]
wxString ilog::qti::SimpleChoice::GetName () const [inline, virtual]
This pure virtual method allows abstract base classes to know the name of the XML element
that represents their concrete descendants.
It should only be implemented in classes that correspond to a concrete (non-abstract) QTI
element.
Implements ilog::qti::Element (p.95).
void ilog::qti::SimpleChoice::InitializeFromXml (const wxXmlNode * root_node) [virtual]
Reimplemented from ilog::qti::Choice (p.63).
wxString ilog::qti::SimpleChoice::Instantiate (shared_ptr< As::FlashInterface >
flash_interface, As::ComponentHandle parent, int style = 0) [virtual]
This function creates a tree of Flash graphical objects to which the BodyElement can be
mapped, and returns a mapping describing which graphical component corresponds to which
QTI component ID.
Implements ilog::qti::IInstantiable (p.123).
wxXmlNode* ilog::qti::SimpleChoice::Serialize () const [virtual]
Reimplemented from ilog::qti::Choice (p.63).
ilog::qti::SimpleInline Class Reference #include <content_model.h>
Inheritance diagram for ilog::qti::SimpleInline:
201
Public Types
typedef shared_ptr< SimpleInline > Ptr
Public Member Functions
wxXmlNode * Serialize () const
void InitializeFromXml (const wxXmlNode *root_node)
Static Public Member Functions
static Ptr CreateFromXml (const wxXmlNode *root_node)
Protected Member Functions
SimpleInline (Uri base=Uri())
SimpleInline (const wxXmlNode *root_node)
Protected Attributes
std::vector< Inline::Ptr > m_Children
Member Typedef Documentation
typedef shared_ptr<SimpleInline> ilog::qti::SimpleInline::Ptr
Reimplemented from ilog::qti::BodyElement (p.55).
Reimplemented in ilog::qti::Span (p.206).
202
Constructor & Destructor Documentation
ilog::qti::SimpleInline::SimpleInline (Uri base = Uri()) [explicit, protected]
ilog::qti::SimpleInline::SimpleInline (const wxXmlNode * root_node) [explicit, protected]
Member Function Documentation
static Ptr ilog::qti::SimpleInline::CreateFromXml (const wxXmlNode * root_node) [static]
Reimplemented from ilog::qti::FlowStatic (p.111).
void ilog::qti::SimpleInline::InitializeFromXml (const wxXmlNode * root_node) [virtual]
Reimplemented from ilog::qti::BodyElement (p.57).
Reimplemented in ilog::qti::Span (p.207).
wxXmlNode* ilog::qti::SimpleInline::Serialize () const [virtual]
Reimplemented from ilog::qti::BodyElement (p.57).
Reimplemented in ilog::qti::Span (p.207).
Member Data Documentation
std::vector<Inline::Ptr> ilog::qti::SimpleInline::m_Children [protected]
Reimplemented from ilog::qti::Element (p.92).
ilog::qti::SimpleMatchSet Class Reference #include <content_model.h>
Inheritance diagram for ilog::qti::SimpleMatchSet:
203
Public Types
typedef shared_ptr< SimpleMatchSet > Ptr
Public Member Functions
wxString GetName () const
wxXmlNode * Serialize () const
void InitializeFromXml (const wxXmlNode *root_node)
Static Public Member Functions
static Ptr Create ()
static Ptr Create (const wxXmlNode *root_node)
Protected Member Functions
SimpleMatchSet ()
SimpleMatchSet (const wxXmlNode *root_node)
Member Typedef Documentation
typedef shared_ptr<SimpleMatchSet> ilog::qti::SimpleMatchSet::Ptr
Reimplemented from ilog::qti::Element (p.94).
Constructor & Destructor Documentation
ilog::qti::SimpleMatchSet::SimpleMatchSet () [protected]
ilog::qti::SimpleMatchSet::SimpleMatchSet (const wxXmlNode * root_node) [explicit, protected]
Member Function Documentation
static Ptr ilog::qti::SimpleMatchSet::Create (const wxXmlNode * root_node) [static]
static Ptr ilog::qti::SimpleMatchSet::Create () [static]
wxString ilog::qti::SimpleMatchSet::GetName () const [inline, virtual]
This pure virtual method allows abstract base classes to know the name of the XML element
that represents their concrete descendants.
It should only be implemented in classes that correspond to a concrete (non-abstract) QTI
element.
Implements ilog::qti::Element (p.95).
void ilog::qti::SimpleMatchSet::InitializeFromXml (const wxXmlNode * root_node) [virtual]
204
Reimplemented from ilog::qti::ISerializable (p.135).
wxXmlNode* ilog::qti::SimpleMatchSet::Serialize () const [virtual]
Reimplemented from ilog::qti::Element (p.96).
ilog::SlideChooser Class Reference A panel that hosts the Flash-based slide chooser.
#include <organizer_notebook.h>
Public Member Functions
SlideChooser (wxWindow *parent, wxWindowID id, As::FlashInterface::Ptr flash_interface, const
wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=0, const wxString
&name=wxPanelNameStr)
~SlideChooser ()
void OnContextMenu (wxContextMenuEvent &evt)
void OnContextAddBefore (wxCommandEvent &evt)
void OnContextAddAfter (wxCommandEvent &evt)
void OnContextRemove (wxCommandEvent &evt)
void OnContextProperties (wxCommandEvent &evt)
SlideChooser (wxWindow *parent, wxWindowID id, As::FlashInterface::Ptr flash_interface, const
wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=0, const wxString
&name=wxPanelNameStr)
~SlideChooser ()
void OnContextMenu (wxContextMenuEvent &evt)
void OnContextAddBefore (wxCommandEvent &evt)
void OnContextAddAfter (wxCommandEvent &evt)
void OnContextRemove (wxCommandEvent &evt)
void OnContextProperties (wxCommandEvent &evt)
Detailed Description
A panel that hosts the Flash-based slide chooser.
Constructor & Destructor Documentation
ilog::SlideChooser::SlideChooser (wxWindow * parent, wxWindowID id,
As::FlashInterface::Ptr flash_interface, const wxPoint & pos = wxDefaultPosition,
const wxSize & size = wxDefaultSize, long style = 0, const wxString & name =
wxPanelNameStr)
ilog::SlideChooser::~SlideChooser ()
ilog::SlideChooser::SlideChooser (wxWindow * parent, wxWindowID id,
As::FlashInterface::Ptr flash_interface, const wxPoint & pos = wxDefaultPosition,
205
const wxSize & size = wxDefaultSize, long style = 0, const wxString & name =
wxPanelNameStr)
ilog::SlideChooser::~SlideChooser ()
Member Function Documentation
void ilog::SlideChooser::OnContextAddAfter (wxCommandEvent & evt)
void ilog::SlideChooser::OnContextAddAfter (wxCommandEvent & evt)
void ilog::SlideChooser::OnContextAddBefore (wxCommandEvent & evt)
void ilog::SlideChooser::OnContextAddBefore (wxCommandEvent & evt)
void ilog::SlideChooser::OnContextMenu (wxContextMenuEvent & evt)
void ilog::SlideChooser::OnContextMenu (wxContextMenuEvent & evt)
void ilog::SlideChooser::OnContextProperties (wxCommandEvent & evt)
void ilog::SlideChooser::OnContextProperties (wxCommandEvent & evt)
void ilog::SlideChooser::OnContextRemove (wxCommandEvent & evt)
void ilog::SlideChooser::OnContextRemove (wxCommandEvent & evt)
ilog::qti::Span Class Reference #include <content_model.h>
Inheritance diagram for ilog::qti::Span:
206
Public Types
typedef shared_ptr< Span > Ptr
Public Member Functions
wxString GetName () const
wxString Instantiate (shared_ptr< As::FlashInterface > flash_interface, As::ComponentHandle
parent, int style=0)
wxXmlNode * Serialize () const
void InitializeFromXml (const wxXmlNode *root_node)
String ToString () const
Static Public Member Functions
static Ptr Create ()
static Ptr Create (const wxXmlNode *root_node)
static Ptr Create (const String &text, Uri base=Uri())
Protected Member Functions
Span ()
Span (const String &text, Uri base=Uri())
Span (const wxXmlNode *root_node)
Member Typedef Documentation
typedef shared_ptr<Span> ilog::qti::Span::Ptr
Reimplemented from ilog::qti::SimpleInline (p.201).
207
Constructor & Destructor Documentation
ilog::qti::Span::Span () [protected]
ilog::qti::Span::Span (const String & text, Uri base = Uri()) [explicit, protected]
ilog::qti::Span::Span (const wxXmlNode * root_node) [explicit, protected]
Member Function Documentation
static Ptr ilog::qti::Span::Create (const String & text, Uri base = Uri()) [static]
static Ptr ilog::qti::Span::Create (const wxXmlNode * root_node) [static]
static Ptr ilog::qti::Span::Create () [static]
wxString ilog::qti::Span::GetName () const [inline, virtual]
This pure virtual method allows abstract base classes to know the name of the XML element
that represents their concrete descendants.
It should only be implemented in classes that correspond to a concrete (non-abstract) QTI
element.
Implements ilog::qti::Element (p.95).
void ilog::qti::Span::InitializeFromXml (const wxXmlNode * root_node) [virtual]
Reimplemented from ilog::qti::SimpleInline (p.202).
wxString ilog::qti::Span::Instantiate (shared_ptr< As::FlashInterface > flash_interface, As::ComponentHandle parent, int style = 0) [virtual]
This function creates a tree of Flash graphical objects to which the BodyElement can be
mapped, and returns a mapping describing which graphical component corresponds to which
QTI component ID.
Implements ilog::qti::IInstantiable (p.123).
wxXmlNode* ilog::qti::Span::Serialize () const [virtual]
Reimplemented from ilog::qti::SimpleInline (p.202).
String ilog::qti::Span::ToString () const [inline, virtual]
This method should return a string representation of the Inline element.
This may mean ignoring nested elements that do not have a string representation.
Implements ilog::qti::Inline (p.125).
208
ilog::As::StackOverflowError Class Reference #include <exceptions.h>
Inheritance diagram for ilog::As::StackOverflowError:
Public Member Functions
StackOverflowError (const wxString &what)
Constructor & Destructor Documentation
ilog::As::StackOverflowError::StackOverflowError (const wxString & what) [inline]
ilog::As::SyntaxError Class Reference #include <exceptions.h>
Inheritance diagram for ilog::As::SyntaxError:
Public Member Functions
SyntaxError (const wxString &what)
Constructor & Destructor Documentation
ilog::As::SyntaxError::SyntaxError (const wxString & what) [inline]
ilog::qti::TextRun Class Reference #include <content_model.h>
Inheritance diagram for ilog::qti::TextRun:
209
Public Types
typedef shared_ptr< TextRun > Ptr
Public Member Functions
wxString GetName () const
wxXmlNode * Serialize () const
void InitializeFromXml (const wxXmlNode *root_node)
String ToString () const
Static Public Member Functions
static Ptr Create ()
static Ptr Create (const wxXmlNode *root_node)
static Ptr Create (const String &text, Uri base=Uri())
Protected Member Functions
TextRun ()
TextRun (const String &text, Uri base=Uri())
TextRun (const wxXmlNode *root_node)
Member Typedef Documentation
typedef shared_ptr<TextRun> ilog::qti::TextRun::Ptr
Reimplemented from ilog::qti::FlowStatic (p.110).
210
Constructor & Destructor Documentation
ilog::qti::TextRun::TextRun () [protected]
ilog::qti::TextRun::TextRun (const String & text, Uri base = Uri()) [explicit, protected]
ilog::qti::TextRun::TextRun (const wxXmlNode * root_node) [explicit, protected]
Member Function Documentation
static Ptr ilog::qti::TextRun::Create (const String & text, Uri base = Uri()) [static]
static Ptr ilog::qti::TextRun::Create (const wxXmlNode * root_node) [static]
static Ptr ilog::qti::TextRun::Create () [static]
wxString ilog::qti::TextRun::GetName () const [inline, virtual]
This pure virtual method allows abstract base classes to know the name of the XML element
that represents their concrete descendants.
It should only be implemented in classes that correspond to a concrete (non-abstract) QTI
element.
Implements ilog::qti::Element (p.95).
void ilog::qti::TextRun::InitializeFromXml (const wxXmlNode * root_node) [virtual]
Reimplemented from ilog::qti::FlowStatic (p.111).
wxXmlNode* ilog::qti::TextRun::Serialize () const [virtual]
Reimplemented from ilog::qti::Flow (p.109).
String ilog::qti::TextRun::ToString () const [inline, virtual]
This method should return a string representation of the Inline element.
This may mean ignoring nested elements that do not have a string representation.
Implements ilog::qti::Inline (p.125).
ilog::TopFrame Class Reference The main wxFrame subclass for the application.
#include <top_frame.h>
Public Member Functions
TopFrame ()
211
TopFrame (wxDocManager *doc_mgr)
~TopFrame ()
void OnTerminate (wxCloseEvent &evt)
void OnExit (wxCommandEvent &evt)
void OnAbout (wxCommandEvent &evt)
void OnPublishToFlash (wxCommandEvent &evt)
void OnAddSlide (wxCommandEvent &evt)
void OnRemoveSlide (wxCommandEvent &evt)
void OnSlideProperties (wxCommandEvent &evt)
void OnInsertInteraction (wxCommandEvent &evt)
As::FlashInterface::Ptr GetFlashInterface ()
void OnFlashInterfaceReady ()
Friends
class EditorView
Detailed Description
The main wxFrame subclass for the application.
Constructor & Destructor Documentation
ilog::TopFrame::TopFrame ()
ilog::TopFrame::TopFrame (wxDocManager * doc_mgr)
ilog::TopFrame::~TopFrame ()
Member Function Documentation
As::FlashInterface::Ptr ilog::TopFrame::GetFlashInterface () [inline]
void ilog::TopFrame::OnAbout (wxCommandEvent & evt)
void ilog::TopFrame::OnAddSlide (wxCommandEvent & evt)
void ilog::TopFrame::OnExit (wxCommandEvent & evt)
void ilog::TopFrame::OnFlashInterfaceReady ()
Callback for FlashInterface opens a new document when the flash players are initialized at
startup.
212
void ilog::TopFrame::OnInsertInteraction (wxCommandEvent & evt)
void ilog::TopFrame::OnPublishToFlash (wxCommandEvent & evt)
void ilog::TopFrame::OnRemoveSlide (wxCommandEvent & evt)
void ilog::TopFrame::OnSlideProperties (wxCommandEvent & evt)
void ilog::TopFrame::OnTerminate (wxCloseEvent & evt)
Handles application close event.
Simulates a user 'Exit' command to ensure that all proper cleanup occurs.
Friends And Related Function Documentation
friend class EditorView [friend]
ilog::TransformComponentCommand Class Reference Represents a transform operation (i.e.
#include <component_command.h>
Public Member Functions
TransformComponentCommand (const wxString &name, As::FlashInterface::Ptr flash_interface,
As::ComponentHandle h_comp, As::Object old_bounds, As::Object new_bounds, bool
from_flash=false)
~TransformComponentCommand ()
bool Do ()
bool Undo ()
Detailed Description
Represents a transform operation (i.e.
resize, move) on a Flash component.
Constructor & Destructor Documentation
ilog::TransformComponentCommand::TransformComponentCommand (const wxString & name, As::FlashInterface::Ptr flash_interface, As::ComponentHandle h_comp,
As::Object old_bounds, As::Object new_bounds, bool from_flash = false)
Constructor.
Specify 'true' for the 'from_flash' parameter if the action has already been performed on the
Flash side and the command should simply be inserted into the undo stack without being
executed.
213
ilog::TransformComponentCommand::~TransformComponentCommand ()
Member Function Documentation
bool ilog::TransformComponentCommand::Do ()
bool ilog::TransformComponentCommand::Undo ()
ilog::As::TypeError Class Reference
#include <exceptions.h>
Inheritance diagram for ilog::As::TypeError:
Public Member Functions
TypeError (const wxString &what)
Constructor & Destructor Documentation
ilog::As::TypeError::TypeError (const wxString & what) [inline]
ilog::As::URIError Class Reference #include <exceptions.h>
Inheritance diagram for ilog::As::URIError:
Public Member Functions
URIError (const wxString &what)
214
Constructor & Destructor Documentation
ilog::As::URIError::URIError (const wxString & what) [inline]
ilog::qti::Variable Class Reference #include <expression.h>
Inheritance diagram for ilog::qti::Variable:
Public Types
typedef shared_ptr< Variable > Ptr
Public Member Functions
wxString GetName () const
Identifier GetIdentifier () const
Identifier GetWeightIdentifier () const
void SetWeightIdentifier (Identifier weight_id)
wxXmlNode * Serialize () const
void InitializeFromXml (const wxXmlNode *root_node)
Static Public Member Functions
static Ptr Create ()
static Ptr Create (const wxXmlNode *root_node)
static Ptr Create (Identifier id, Identifier weight_id=NULL_IDENTIFIER)
Protected Member Functions
Variable ()
Variable (Identifier id, Identifier weight_id=NULL_IDENTIFIER)
Variable (const wxXmlNode *root_node)
Member Typedef Documentation
typedef shared_ptr<Variable> ilog::qti::Variable::Ptr
215
Reimplemented from ilog::qti::Expression (p.100).
Constructor & Destructor Documentation
ilog::qti::Variable::Variable () [protected]
ilog::qti::Variable::Variable (Identifier id, Identifier weight_id = NULL_IDENTIFIER) [explicit, protected]
ilog::qti::Variable::Variable (const wxXmlNode * root_node) [explicit, protected]
Member Function Documentation
static Ptr ilog::qti::Variable::Create (Identifier id, Identifier weight_id =
NULL_IDENTIFIER) [static]
static Ptr ilog::qti::Variable::Create (const wxXmlNode * root_node) [static]
static Ptr ilog::qti::Variable::Create () [static]
Identifier ilog::qti::Variable::GetIdentifier () const [inline]
wxString ilog::qti::Variable::GetName () const [inline, virtual]
This pure virtual method allows abstract base classes to know the name of the XML element
that represents their concrete descendants.
It should only be implemented in classes that correspond to a concrete (non-abstract) QTI
element.
Implements ilog::qti::Element (p.95).
Identifier ilog::qti::Variable::GetWeightIdentifier () const [inline]
void ilog::qti::Variable::InitializeFromXml (const wxXmlNode * root_node) [virtual]
Reimplemented from ilog::qti::ISerializable (p.135).
wxXmlNode* ilog::qti::Variable::Serialize () const [virtual]
Reimplemented from ilog::qti::Element (p.96).
void ilog::qti::Variable::SetWeightIdentifier (Identifier weight_id) [inline]
ilog::qti::VariableDeclaration Class Reference #include <content_model.h>
216
Inheritance diagram for ilog::qti::VariableDeclaration:
Public Types
typedef shared_ptr< VariableDeclaration > Ptr
Public Member Functions
Identifier GetIdentifier () const
void SetIdentifier (const wxString &identifier)
Cardinality GetCardinality () const
BaseType GetBaseType () const
bool IsValid () const
wxXmlNode * Serialize () const
void InitializeFromXml (const wxXmlNode *root_node)
Protected Member Functions
VariableDeclaration ()
VariableDeclaration (Cardinality card, BaseType base)
VariableDeclaration (const wxXmlNode *root_node)
Member Typedef Documentation
typedef shared_ptr<VariableDeclaration> ilog::qti::VariableDeclaration::Ptr
Reimplemented from ilog::qti::Element (p.94).
Reimplemented in ilog::qti::ResponseDeclaration (p.183).
217
Constructor & Destructor Documentation
ilog::qti::VariableDeclaration::VariableDeclaration () [protected]
ilog::qti::VariableDeclaration::VariableDeclaration (Cardinality card, BaseType base) [protected]
ilog::qti::VariableDeclaration::VariableDeclaration (const wxXmlNode * root_node) [explicit, protected]
Member Function Documentation
BaseType ilog::qti::VariableDeclaration::GetBaseType () const [inline]
Cardinality ilog::qti::VariableDeclaration::GetCardinality () const [inline]
Identifier ilog::qti::VariableDeclaration::GetIdentifier () const [inline]
void ilog::qti::VariableDeclaration::InitializeFromXml (const wxXmlNode * root_node) [virtual]
Reimplemented from ilog::qti::ISerializable (p.135).
Reimplemented in ilog::qti::ResponseDeclaration (p.184).
bool ilog::qti::VariableDeclaration::IsValid () const [inline, virtual]
This method should return true if and only if all required attributes of the element are fully
specified and all specified attributes are valid (i.e.
identifiers are unique, strings of type 'String256' are less than 256 characters long, etc.).
Reimplemented from ilog::qti::Element (p.96).
wxXmlNode* ilog::qti::VariableDeclaration::Serialize () const [virtual]
Reimplemented from ilog::qti::Element (p.96).
Reimplemented in ilog::qti::ResponseDeclaration (p.184).
void ilog::qti::VariableDeclaration::SetIdentifier (const wxString & identifier) [inline]
ilog::WxException Class Reference Generic exception class representing an error in the wxWidgets library.
#include <wx_exception.h>
Inherits std::exception.Public Member Functions
WxException (const wxString &what) throw ()
const char * what () const throw ()
218
virtual ~WxException () throw ()
Detailed Description
Generic exception class representing an error in the wxWidgets library.
Constructor & Destructor Documentation
ilog::WxException::WxException (const wxString & what) throw () [inline]
virtual ilog::WxException::~WxException () throw () [inline, virtual]
Member Function Documentation
const char* ilog::WxException::what () const throw () [inline]
Hostetler 219
219
ilog::wxStringComparator Struct Reference Allows wxString to be used as a key in an STL map.
#include <string_util.h>
Public Member Functions
bool operator() (const wxString &a, const wxString &b) const
Detailed Description
Allows wxString to be used as a key in an STL map.
Member Function Documentation
bool ilog::wxStringComparator::operator() (const wxString & a, const wxString & b) const [inline]
Hostetler 221
221
Appendix C – Flash Editor Components Documentation
Documentation for the Flash components of the iLOG Flash Editor is provided on the CD
distributed with this document in the form of a set of HTML documents. These documents can
be found in the directory iLOG_Flash_Editor/doc/flash/html.
Hostetler 223
223
Appendix D – Flash Runtime Library Documentation
Documentation for the Flash Runtime Library is provided on the CD distributed with this
document in the form of a set of HTML documents. These documents can be found in the
directory iLOG_Flash_Editor/doc/flash/html.
Hostetler 225
225
Appendix E – IFE Usability Survey
CSCE235 Homework 8: Feedback on Software
Complete the following overall evaluation for IJEDI the Flash Editor software used in HW#8.
Interface Low Neutral High Not Applicable
Easily accessible 1 2 3 4 5 NA
Friendliness 1 2 3 4 5 NA
Logical design 1 2 3 4 5 NA
Level of content 1 2 3 4 5 NA
Layout 1 2 3 4 5 NA
Audience appeal 1 2 3 4 5 NA
Other 1 2 3 4 5 NA
Other questions and suggestions about interface?
Functionality Low Neutral High Not Applicable
Easy of use 1 2 3 4 5 NA
Usefulness 1 2 3 4 5 NA
Effectiveness 1 2 3 4 5 NA
Speed 1 2 3 4 5 NA
Correctness 1 2 3 4 5 NA
Completeness 1 2 3 4 5 NA
Suitability 1 2 3 4 5 NA
Technical elements 1 2 3 4 5 NA
Other 1 2 3 4 5 NA
Other questions and suggestions about functionality?
Help Menu Low Neutral High Not Applicable
Answers your questions 1 2 3 4 5 NA
Provides information you need 1 2 3 4 5 NA
Instructive and helpful 1 2 3 4 5 NA
Easy to follow 1 2 3 4 5 NA
Other 1 2 3 4 5 NA
Other questions and suggestions about help menu?