Introduction

Currently,the major goal of the component model is to support the development of a visual gui building tool where simple and compound components, both built in and third party, can be layed out in a panel and wired together using events, attributes and methods to create a non-trivial application.

Here's a quote I found in an article discussing the UML and how it supports components:

"component: A physical, replaceable part of a system that packages implementation and provides the realization of a set of interfaces. A component represents a physical piece of implementation of a system, including software code (source, binary or executable) or equivalents such as scripts or command files [9]."

I'm just learning about components and have a friend thats an expert in this area and is advising me and trying to steer me in the right direction. I've been thinking of PythonCard Widgets ( simple and compound ) as components, and that's really not the case. It's possible for a Widget to be a component, but only if it fulfills the responsibilities of some component model. I'm still reading up on what a component model really is.

The following is the state of my own personal take on components.

General statements about component models:

- A component may implement one or more interfaces. - A component may have attributes. - Components may communicate with other components. - A component is an deployable entity. - Two or more components that implement the same interface(s)

Specific statements about a possible PythonCard component model:

- A component communicates with other components via interface methods and

- A component's interface is defined in XML. - A component may be serialized according to the resource model defined in XML.

What Objects are Involved

Describe the various components (both regular Python objects and wx objects). An indented list would work well -- the object listed at the higher level, with an explanation for how it fits in at a lower level.

Process Overview

Describe what you have to do to make the pieces work with each other. If there are pieces you have to inherit from, describe which ones you use, why, and what additional capabilities you add.

Special Concerns

This is the place to list anything such as

Code Sample

from wxPython.wx import *

Comments

This is the place that you can add your plans for the future of this page, tell people how to contact you, or leave feedback for the author of the page.

NOTE: To edit pages in this wiki you must be a member of the TrustedEditorsGroup.