# Introducción a Patrones de Diseño en C++ con Qt4/Índice

Index Symbols
* ifndef wrapper, The Preprocessor: For #including Files
* include , The Preprocessor: For #including Files
-Wall
A
a.out
abstract
abstract base class, Derivation from an Abstract Base Class abstract factories, Abstract Factories and Libraries abstract factory, Creational Patterns Abstract Factory pattern, Creational Patterns , Importing Objects with an Abstract Factory access specifier
accessibility, Member Access Specifiers action, QActions, QMenus, and QMenuBars Adaptor pattern, FileTagger: Façade Example address-of operator (&), The Unary Operators & and * aggregate container, Managed Containers, Composites and Aggregates aggregation, UML Relationships , Managed Containers, Composites and Aggregates
animation, QPixmap and QThread Animation Example: Movie Player ANSI typecasts, Safer Typecasting using ANSI C++ typecasts ANSI/ISO Draft Standard, A Brief History of C++ anti-pattern, Anti-patterns API, Frameworks and Components argc, main, and Command Line Arguments ArgumentList, Derivation and ArgumentList argv, main, and Command Line Arguments Arithmetic , Arithmetic
array, main, and Command Line Arguments , Introduction to Arrays arrays
Arrays
assignable data type, Containers assignment operator, Copy Constructors and Assignment Operators association
associative container, Containers asynchronous, Signals and Slots AT&T Bell Labs, A Brief History of C++ auto, Storage Class auto_ptr, Smart Pointers: auto_ptr
B
bad_alloc, What happens if new fails? base class, Simple Derivation bash
Behavioral patterns, Introduction to Design patterns block, Statements
block scope
boolalpha
boolean
boost, Frameworks and Components
break
buttons
C
C++ statement, Statements cache, Containers cards
case
cast
catch, Exception Handling, try and catch child objects, QObject cin, Streams and Dates
circular dependency, Organizing Libraries: Dependency Management , The Preprocessor: For #including Files class, Class definitions
class scope, Class definitions client code, Member Access Specifiers cloning
cmd
command line arguments, main, and Command Line Arguments
Command pattern, QActions, QToolbars, and QActionGroups , virtual pointers, virtual tables comment delimiters, C++ First Example compile time binding, Derivation with Polymorphism compile time depencency, Organizing Libraries: Dependency Management complex numbers, Operator Overloading Composite pattern, Parents and Children, Tree Models
composition, UML Relationships , Subobjects , Managed Containers, Composites and Aggregates
compound statement, Statements concrete class, Derivation from an Abstract Base Class conditional statement, Selection Statements connect, Connecting to slots , Signals and Slots console
const
constructor, Constructors
constructors
const_cast, static_cast and const_cast consumer-producer, Multiple Threads, Queues, and Loggers Example: Giant container
container classes
container widget
context menu, QActions, QMenus, and QMenuBars continue
controller, M-V-C: What about the Controller? controller class
controller classes, M-V-C: What about the Controller? conversion, Conversions conversion constructor, Conversions copy and paste programming, Anti-patterns copy assignment operator, Copy Constructors and Assignment Operators copy constructor, Copy Constructors and Assignment Operators, Constructors, Destructors, and Copy Assignment Operators cout, Streams and Dates
CPPLIBS, Derivation and ArgumentList , Building and Reusing Libraries , Installing Libraries: A Lab Exercise creation rule, Creation Rules and Friend Functions Creational patterns, Introduction to Design patterns cstdarg, Functions with Variable-length Argument Lists cstdio, Standard Headers cstring, Standard Headers cvs, Open Source development tools, Libraries, IDEs. cygwin, C++/Qt Setup: Win32
D
database model
DataObject, DataObject: An Extension of QObject DataObjectTableModel, Table Models Debian
debugger, Debugging dec
declaration
declaring objects, namespace, static objects and extern decoupling, Customizing the Visitor using Inheritance deep copy, Managed Containers, Composites and Aggregates default
default constructor, Constructors default initialization, Constructors definition
delegates, Creational Patterns delete, Operators new and delete , Further Pointer Pathology with Heap Memory dependency, Organizing Libraries: Dependency Management , The Preprocessor: For #including Files derived class, Simple Derivation design patterns, Frameworks and Components , Introduction to Design patterns
destructor, Destructors
dialog
dialog box, Dialogs
display widget
do
DOM
downcasting
dtor, Destructors dynamic binding, Derivation with Polymorphism dynamic storage
dynamic_cast
E
eclipse, Open Source development tools, Libraries, IDEs. Edyuk
ellipsis, Functions with Variable-length Argument Lists
emit, Signals and Slots encapsulation, Encapsulation endl
enum, Enumerations env
environment, Processes and Environment environment variables, C++/Qt Setup: Open Source Platforms
equivalence relation
errors
event, Qt GUI Widgets event filter
event loop, QApplication and the Event Loop event-driven programming, Event-Driven parsing eventFilter, Qonsole with Keyboard Events events, QApplication and the Event Loop exception
exceptions
explicit, Conversions expression, Types and Expressions expression statements, Statements extend, Simple Derivation Extensible Markup Language, Parsing XML extern
extraction operator, Strings
F
Façade pattern, Qt GUI Widgets , DataObject: An Extension of QObject , The Façade Pattern factory, Creational Patterns Factory method, Creational Patterns
fifo queue, Multiple Threads, Queues, and Loggers Example: Giant FileVisitor, Directories and Files: QDir and QFileInfo fixed
flush
for
foreach, QStringList and iteration fork, Summary: QProcess and QThread forward declaration, Organizing Libraries: Dependency Management , The Preprocessor: For #including Files framework, Frameworks and Components friend, Friends of a Class
function
G
g++
gdb, gdb Quickstart
generalization, Simple Derivation generic
generics, Generics and Templates getline
global
GNU debugger, gdb Quickstart God object, Anti-patterns granularity, Code Containers
H
hard coding, Anti-patterns hash table, Containers header file, Class definitions heap, Operators new and delete , Storage Class heap corruption, Memory Access heap objects, qApp and Singleton pattern heavyweight objects, Prototype Pattern: using dynamic properties hex
hiding
host object, const Member Functions
I
ID3Lib, The Façade Pattern IDE, Open Source development tools, Libraries, IDEs. identifier, Identifiers, Types, and Literals if/else, Selection Statements images
implementation, Encapsulation implementation file, Class definitions implementation relationship
include path, #include: Finding Header Files INCLUDEPATH
incomplete type, The Preprocessor: For #including Files indirection, The Unary Operators & and * infix, Operator Overloading inheritance, Inheritance and Polymorphism
inherits, Type Identification and qobject_cast initialization
initialization list, Constructors inline, inline Functions
input widget
input/output operators, C++ First Example insertion operator, Friends of a Class integral promotion, Standard Expression Conversions Integrated Development Environment, Open Source development tools, Libraries, IDEs. interface bloat, Anti-patterns interface relationship
Interpreter pattern, virtual pointers, virtual tables inversion of control, Event-Driven parsing iostream, Streams is-a
ISO, A Brief History of C++ iterator
J
jEdit
join, QStringList and iteration
K
kate, Open Source development tools, Libraries, IDEs. keywords, C++ Reserved keywords
L
label
labels
layout, Layouts: A First Look , Layout of Widgets
ld.so.cache
ld.so.conf
ldconfig
LD_LIBRARY_PATH, C++/Qt Setup: Open Source Platforms , Installing Libraries
libgtk, Frameworks and Components libraries
library, Code Containers, Abstract Factories and Libraries LIBS
libutils, Building and Reusing Libraries , Installing Libraries: A Lab Exercise , Directories and Files: QDir and QFileInfo link time depencency, Organizing Libraries: Dependency Management list
literal, Identifiers, Types, and Literals Logger
logical operators, Evaluation of Logical Expressions LogWindow, Qonsole: Writing an Xterm in Qt
lvalue, Reference Variables
M
main
make, Makefile, qmake, and Project Files make distclean
Makefile, Makefile, qmake, and Project Files man
manage resources, Destructors managed container, Managed Containers, Composites and Aggregates manipulator
manipulators, Input and Output , Streams MANPATH, C++/Qt Setup: Open Source Platforms mapping layer
member
member function, Class definitions Memento pattern, Exporting to XML memory
memory corruption
memory leak, Operators new and delete menu, QActions, QMenus, and QMenuBars message, Signals and Slots meta character, Regular Expression Syntax meta object, QMetaObject - The Meta Object pattern MetaObject compiler, Q_OBJECT and moc: A checklist MetaObject pattern, QMetaObject - The Meta Object pattern, Memento Pattern method
MinGW
moc, Q_OBJECT and moc: A checklist modal, Dialogs model, QPixmap and QThread Animation Example: Movie Player , Models and Views
model-view-controller
Model-View-Controller pattern, M-V-C: What about the Controller? models and views
modifiable lvalue, Reference Variables module, Code Containers Monostate pattern
multiple inheritance, Multiple Inheritance
Multiple Inheritance
Multitasking , QProcess and Process Control multithreaded, QPixmap and QThread Animation Example: Movie Player Murphy's Law, Exceptions mutex, Thread Safety and QObjects MVC
N
namespace, Code Containers, Namespaces
namespace std
new, Operators new and delete
noshowpos
null pointer, The Unary Operators & and *
O
object, The Unary Operators & and *
object life cycle, Copy Constructors and Assignment Operators ObjectFactory, Abstract Factory , Importing Objects with an Abstract Factory Observer pattern, QApplication and the Event Loop oct
one-to-many, Relationships one-to-one, Relationships Operands, Types and Expressions operator overloading, Operator Overloading operators, Operators
Operators, Types and Expressions optional arguments, Optional Arguments ordered map, Containers overloading
overriding, Simple Derivation
P
package diagram, Organizing Libraries: Dependency Management parameter
parent and child objects, QObject parse event handler, Event-Driven parsing passive interface, QApplication and the Event Loop , Event-Driven parsing PATH, C++/Qt Setup: Open Source Platforms pointer, The Unary Operators & and *
pointers
polymorphic type, Derivation with Polymorphism, virtual pointers, virtual tables polymorphism, Derivation with Polymorphism
POSIX, C++/Qt Setup: Open Source Platforms preprocessor, Inlining versus Macro Expansion , The Preprocessor: For #including Files primitive
private, Member Access Specifiers profiler, Finding Memory Errors project file, Qt dialogs for user input/output , Makefile, qmake, and Project Files promotion, Standard Expression Conversions properties, Memento Pattern protected, Member Access Specifiers Prototype pattern, Prototype Pattern: using dynamic properties pseudo-random numbers, Exercises: C++ Simple Types public, Member Access Specifiers public interface, Encapsulation Publish-subscribe pattern, QApplication and the Event Loop pure virtual, Derivation from an Abstract Base Class
Q
QAbstractItemModel, Qt 4 Models and Views , Tree Models QAbstractTableModel, Table Models QAction, QActions, QMenus, and QMenuBars , QActions, QToolbars, and QActionGroups QActionGroup, QActions, QToolbars, and QActionGroups qApp, Type Identification and qobject_cast
QApplication, Qt dialogs for user input/output
QButtonGroup, Moving Widgets across Layouts QComboBox, Input Dialogs and Widgets QDate , Streams and Dates qDeleteAll
QDevelop, Open Source development tools, Libraries, IDEs. QDialog, Dialogs QDir, Directories and Files: QDir and QFileInfo QFileInfo, Directories and Files: QDir and QFileInfo QInputDialog, Input Dialogs and Widgets QLayout
QLineEdit, Input Dialogs and Widgets QList , QStringList and iteration QListView, Tree Models QMainWindow
qmake, Makefile, qmake, and Project Files , Building and Reusing Libraries QMap
QMenu, QActions, QMenus, and QMenuBars QMenuBar, QActions, QMenus, and QMenuBars QMessageBox, Dialogs QMetaObject, Importing Objects with an Abstract Factory QMetaProperty, Importing Objects with an Abstract Factory QModelIndex, Qt 4 Models and Views QObject, QObject
QObjectList, QObject qobject_cast, Type Identification and qobject_cast QPersistentModelIndex, Qt 4 Models and Views QPixmap, Images and Resources , QPixmap and QThread Animation Example: Movie Player QPointer
QProcess, Concurrency , QProcess and Process Control
qrc files
QSet
QSettings, QSettings: Saving and Restoring Application State
QSlider, QPixmap and QThread Animation Example: Movie Player qSort, Generics, Algorithms, and Operators QSpinBox, Input Dialogs and Widgets QSplitter, Multiple Threads, Queues, and Loggers Example: Giant
QStandardItemModel, Qt 4 Models and Views QString, Qt dialogs for user input/output , Strings , Derivation and ArgumentList QStringList, QStringList and iteration , Derivation and ArgumentList , Generics, Algorithms, and Operators Qt
Qt data type
Qt4, C++/Qt Setup: Open Source Platforms QTableView, Qt 4 Models and Views , Tree Models QTextEdit, Input Dialogs and Widgets QTextStream , Streams and Dates QThread, Concurrency
QTimer, Movie Player with QTimer QTreeWidgetItem, Tree Models , Extended Tree Widget Items QVariant, QVariant Class: Accessing Properties QVBoxWidget, Layouts: A First Look QWidget
QXmlAttributes, Event-Driven parsing QXmlContentHandler, Event-Driven parsing QXmlDefaultHandler, Event-Driven parsing , Importing Objects with an Abstract Factory QXmlReader, Event-Driven parsing QXmlSimpleReader, Event-Driven parsing , Importing Objects with an Abstract Factory Q_DECL_EXPORT, Common Linker Error Messages Q_OBJECT, Memento Pattern
Q_PROPERTY, Memento Pattern
R
rand
random access, Containers rcc
recursion
refactoring, Simple Derivation reference, Reference Variables reference parameter, Parameter Passing by Reference reference return, Returning References from Functions reflection, Anti-patterns Reflection pattern, QMetaObject - The Meta Object pattern register, Storage Class regular expression, Regular Expressions
reinterpret_cast, reinterpret_cast reinventing the square wheel, Anti-patterns relationship, Relationships
resources, Destructors RESOURCES, Images and Resources , QPixmap and QThread Animation Example: Movie Player RTTI, Type Identification and qobject_cast , Runtime Type Identification (RTTI) runtime binding, Derivation with Polymorphism runtime errors, Debugging runtime type identification
S
SAX parser, Parsing XML , Importing Objects with an Abstract Factory scientific
scope, Class definitions
segmentation fault
segmentation faults, Memory Access
SEGV
semaphore, Thread Safety and QObjects sequential access, Containers Serializer pattern, Serializer Pattern set_new_handler, set_new_handler : Another Approach To new Failures showpoint
showpos
signal, Signals and Slots signals and slots
Singleton
Singleton pattern, Creational Patterns , qApp and Singleton pattern sizeof, C++ Simple Types skip-list dictionary, Containers slot, Connecting to slots , Signals and Slots smart pointer, Operators new and delete , Member Selection operators split, QStringList and iteration srand(time(0))
stack, Storage Class stack trace, gdb Quickstart state
statements, Statements
static, The Keyword static
static binding, Derivation with Polymorphism static_cast, static_cast and const_cast stdin
stdio.h, Standard Headers stdout, stderr
STL
STL strings, Strings storage class, Storage Class Strategy pattern
streams, Streams string.h, Standard Headers Stroustrup, Bjarne, A Brief History of C++ struct, First, there was struct Structural patterns, Introduction to Design patterns subclass, Simple Derivation submenu, QActions, QMenus, and QMenuBars subobject, Subobjects
subversion, Open Source development tools, Libraries, IDEs. switch, Selection Statements
T
table
tag name
taglib, The Façade Pattern tar file
TEMPLATE
template
template parameter, Generics and Templates this, const Member Functions thrashing, What happens if new fails? thread safety, Thread Safety and QObjects threads , Threads and QThread throw, Exception Handling, More about throw
toString, DataObject: An Extension of QObject tree
trees, Extended Tree Widget Items try, Exception Handling, try and catch typecast, Type Identification and qobject_cast
typeid, typeid operator , virtual pointers, virtual tables
U
UI
umbrello, Open Source development tools, Libraries, IDEs. UML
union, QVariant Class: Accessing Properties unordered map, Containers using
utils, Building and Reusing Libraries
V
valgrind, Finding Memory Errors value
value type, Containers variable, The Unary Operators & and *
variant
va_arg, Functions with Variable-length Argument Lists vector, Containers view, QPixmap and QThread Animation Example: Movie Player , Models and Views
virtual
virtual memory, What happens if new fails? visibility, Member Access Specifiers Visitor pattern, Directories and Files: QDir and QFileInfo , Visitor Pattern: DOM Tree Walking void, C++ Simple Types vtable, Benefits of Using Factories , virtual pointers, virtual tables
W
while
widget, QApplication and the Event Loop win32
window, Qt GUI Widgets windows
wrapper, QVariant Class: Accessing Properties , Smart Pointers: auto_ptr Wrapper pattern, FileTagger: Façade Example
X
X3J16, A Brief History of C++ xlobject
XML, Parsing XML
XML parser, Event-Driven parsing xmllint, Parsing XML