Promotional items search engine
Hit enter to submit
Search results for:
promotional pens
The materials in the toolkit (4550K pdf) are divided into 10 units designed to aid faculty in every step of planning, designing, and implementing service-learning programs into their curriculum and institutions as well as program evaluation and assessment. Each unit includes tips and in-depth content information about the topic presented and most units include case studies providing real life experiences for readers to learn from.
The toolkit includes. six training modules covering a variety of service-learning topics. support materials for each module, including activities, overhead transparencies, and handouts. the Virtual College Course, An Introduction to Service-Learning, a comprehensive set of 8 video tapes with a connecting website where participants can enroll for college credit with California State University, Hayward. a variety of service-learning supplemental and library materials including videos, CDs, and current publications on service-learning. and the ACOE Understanding School Culture video, created to educate AmeriCorps members about school culture and prepare them to work in schools.
As a service-learning staff person for a diverse urban school district, I have used the Modules and Toolkit to work with teachers as they implement service-learning for the first year in our district. I have found that they are very user-friendly and that teachers come out of the trainings with the information and guidelines they need to start working with their students."
Created by the Missouri State Service-Learning Advisory Council, this toolkit contains information on defining service-learning, principles of good practice, partner benefits, elements of a successful partnership, a readiness checklist, after-school service issues to consider, and much, much more.
The materials in this toolkit contain information about the three core components of a service-learning project. planning and preparation, the service activity, and the culminating event. Also included is information about two ongoing activities common to high quality service-learning projects. reflection and assessment. You can also download electronically fillable Word Documents of the worksheets (275K Doc) in this toolkit.
Created by t he National Collaboration for Youth, these toolkits provide research supporting the need for school-CBO partnerships, successful strategies for creating and sustaining partnerships, and checklists and tools. Similar information is in both packets, but one is specifically written for community-based organizations and the other is for local education agencies and state education agencies.
A discipline-specific toolkit for higher education faculty interested in service-learning and Communication Studies. Discusses the benefits of service-learning, includes a section on liability concerns, a glossary, and tips for getting started. Also gives examples of actual projects that various communication studies college classes have done, and includes sections on reflection, assessment, and blank assessment forms.
A widget toolkit, widget library, or GUI toolkit is a set of widgets for use in designing applications with graphical user interfaces (GUIs). The toolkit itself is a piece of software that is generally provided with an operating system, windowing system, or window manager which provides programs with an application programming interface (API), allowing them to make use of widgets. Each widget facilitates a specific user-computer interaction, and appears as a visible part of the computer's GUI. Widgets that are provided by a toolkit typically adhere to a unified design specification, including aesthetics, to lend a sense of overall cohesion among various parts of the application and between various applications within the GUI. Widget toolkits also contain software to assist in the creation of window managers, as windows themselves are considered widgets. Some widgets support interaction with the user, for example labels, buttons, and check boxes. Others act as containers that group the widgets added to them, for example windows, panels, and tabs. The graphical user interface of a program is commonly constructed in a cascading manner, with widgets being added directly to on top of existing widgets. In many implementations application windows are added directly to the desktop by the window manager, and can be stacked layered on top of each other through various means. Each window is associated with a particular application which controls the widgets added to its canvas, which can be watched and modified by their associated applications. The toolkit handles user events, for example when the user clicks on a button. When an event is detected it is passed onto the application, where it is dealt with. The look and feel of the widgets can be hard-coded in the toolkit, but some widget toolkit APIs decouple the look and feel from the definition of the widgets, allowing the widgets to be themed. (see pluggable look and feel).
Licenses provide the permissions businesses need to perform their core activities. When combined with registrations, permits, and inspections, entrepreneurs face a confusing web of red tape. Business Licensing Reform. A Toolkit for Development Practitioners gives project managers the tools for reforming business licensing regimes at the national level.
Entrepreneurs need reliable infrastructure, efficient regulations, and a range of financial and business services for success. This toolkit provides project managers with relevant case studies and step-by-step information on how to design, implement, and evaluate projects that build capacity in business membership organizations.
Small businesses may require different tax approaches depending on a sector or a country. Before choosing a special tax system to reach small taxpayers, policy makers must decide what the objectives of the micro and small enterprise tax should be. This toolkit lays out key strategies and options for the design of a small business tax regime.
The Labor Issues in Infrastructure Reform toolkit provides practical tools and information to help policymakers handle labor issues arising from infrastructure service reforms.
The Toolkit for Public-Private Partnership in Highways highlights policy options for private participation in the highways sector (ranging from feeder roads to motorways).
The Framework for Port Reform toolkit, now in its second edition, provides policymakers and practitioners with effective decision support in undertaking sustainable and well-considered reforms of public institutions that provide, direct, and regulate port services in developing countries.
The Private Sector Participation in Municipal Solid Waste Management toolkit aids local governments in deciding whether and how to involve the private sector in municipal waste services.
Too often, faulty regulatory or competitive environments, poor route planning, or vehicle maintenance hinder bus systems efficiency in the developing world. The Urban Bus Toolkit provides the fundamentals necessary for municipal officials and policymakers to begin the process of reform. This site offers guidance on evaluating urban bus systems, providing best practice benchmarks and an interactive tool to help diagnose and address problem areas.
These toolkits are designed to help health care institutions and clinicians provideand consumers receivesafe, quality health care at various points in the health care processin the hospital, in the emergency department, in the intensive care unit, in the pharmacy, and when being discharged from one setting to another. These 17 toolkits were produced under AHRQ's Partnerships in Implementing Patient Safety (PIPS) grant program, The projects have produced a variety of evidence-based tools, including training materials, medication guides and checklists, that are easily adapted to other institutions and care settings. The tools were developed in the field and are designed to be implemented by multidisciplinary users.
The toolkits page provides links to free toolkit downloads for Lotus Notes and Domino, Lotus Sametime, and Lotus SmartSuite.
For V8.0 and later, the documentation is included with the toolkit. For earlier versions, see the Lotus C API toolkit documentation.
For V7.0 and later, the documentation is included with the toolkit. For earlier versions, see the Lotus C++ API toolkit documentation.
A toolkit that lets you integrate Domino and WebSphere applications using the Domino custom JSP tag libraries. NOTE. This toolkit is available with Lotus Notes/Domino 6.0.2 and later.
A toolkit that lets you code and test Java, Eclipse RCP, Web, portlet, and Web service applications for Lotus Expeditor V6.2, Lotus Notes 8.5 and Symphony 1.2.
Documentation is included with the toolkit. See the "Getting started with the Lotus Expeditor Toolkit 6.2" article in the Lotus Expeditor wiki for more information.
A toolkit that lets you code and test Java, Eclipse RCP, Web, portlet, and Web service applications for Lotus Expeditor V6.1.x, Lotus Sametime V7.5.x, and Lotus Notes V8.
Documentation is included with the toolkit. See the developerWorks article, "Getting started with the IBM Lotus Expeditor Toolkit V6.1," for more information.
A toolkit to help you create applications that can interact with the Mobility Client for Windows or for Linux version 6.1.1 or later.
A toolkit to help you create applications that can interact with the Mobility Client for Windows version 6.1 or later.
A toolkit to help you create applications that can interact with the Mobility Client for Linux version 6.1 or later.
A collection of all Lotus Sametime V8.0.x client and server toolkits in one consolidated package, which replaces the separate toolkits available for previous Sametime releases. Sametime V8.0.2 is the most recent release.
A collection of all Lotus Sametime Advanced V8.0.x client and server toolkits in one consolidated package, which replaces the separate toolkits available for previous Sametime releases.
A collection of all Lotus Sametime V7.5.x client and server toolkits in one consolidated package, which replaces the separate toolkits available for previous Sametime releases.
A collection of all Lotus Sametime V7.0 client and server toolkits in one consolidated package, which replaces the separate toolkits available for previous Sametime releases.
Documentation is included in the toolkit, but may also be available from the Lotus Sametime documentation page.
A client toolkit for accessing Sametime services, like login, awareness, and instant messaging, using a COM object
Documentation is included in the toolkit, but may also be available from the Lotus Sametime documentation page.
KINCROME TOOLKITS IN HAND HELD BOXES. KINCROME TOOLKITS IN CHESTS. KINCROME TOOLKITS IN WALL CABINETS. KINCROME TOOLKITS IN ROLLERCABINETS & CHESTS. KINCROME MEGA TOOLKITS. KINCROME TOOLS ONLY TOOLKITS (WITHOUT TOOLBOXES)
KC TOOLS TRADE QUALITY TOOLKITSKC PROAM CANTILEVER BOX KITS & WALLCABINETKC PROAM TOOLCHESTS & ROLLERCABINETSKC TOOLS HDFI TRAY SOCKETS, SPANNERS & HAND TOOLSKC TOOLS HDFI TRAY IMPACT SOCKETS & AIR TOOLSKC TOOLS HDFI TRAY AUTOMOTIVE, HEX TOOLS & SPANNERSKC TOOLS HDFI TRAY HAND TOOLS
User interfaces occupy an important part of software development. This page provides a comprehensive reference on toolkits for building graphical user interfaces (GUIs), with emphasis on resources for Free Software (Open Source). This page focuses on personal computers but also references some offerings for embedded products.
Research-oriented toolkit from CMU. native look andfeel. High-level support for interactive interfaces. Direct Manipulation Behaviors, Undo, Animation, etc. original project at CMU completed and Nolonger supported. However, another group has picked up development as OpenAmulet.
A totally new window system for Unix/Linux that alsoincludes high level APIs for GUI programming. Very experimental asit buids upon OpenGL and CORBA. Successor of Fresco andOffix. Also listed as an alternative windowing system Berlin renamed to Fresco in 2002, taking on the name of the old GUI toolkit Fresco
Advanced research toolkit formly supported by theX Consortium but now independently developed. Successor to Interviews.( alt. page)( Java version)
( Gtkkitand Gtoolkit, ObjectC wrappers) ( wxGTK, WxWindows port to gtk+ (C++ API)) ( gtkv, Vport to gtk+ (C++ API))
A small, "basic self-contained no-frills toolkitto create platform-independent GUI software (in C++)
C API. the GUI toolkit is part of a C-like scriptlanguage for quickly building GUIs, although also usable from compiled C. Motif look and feel.
A highly portable user interface toolkit with dynamicedition." look and feel and behavior are adjustable/editable at run time
Containing a complete application framework and GUI library as the basis of an office suite, including low level GUI toolkit (VCL), application framework, graphics applications services
A high-quality framework. hasadvanced features not present in other toolkits, such a full 2d graphics API (with rotations, scaling, shearing, etc.), metafile support, same code for screen and printer output.
Trixul is an XML and JavaScript GUI toolkit that supports MacOS X, Linux, and Windows environments directly via Cocoa, Gtk+, and .NET native implementations. JavaScript code can call C++ directly.
Part of National Center for Biotechnology Informationsoftware development toolkit, a multi-platform user interface developmentlibrary that automatically handles the behavior of GUI objects, with callbacksto programs
Wafe (Widget[Athena]front end) is a package thatimplements a symbolic, string based interface based on Tcl to the X Toolkit, the Athena Widget Set, Motif and various complementary widget classes and extension packages. " C API.
(formerly wxWindows) Common C++ wrapper for many platforms. version 2,.4 just released. native look and feel. good cross-platform support.(Wxxt, X Toolkit port)
Cross-platform, toolkit for Mozilla."An open source SDK for building common cross-platform user interfaces usingexisting cross-platform
Zoolib provides a GUI toolkit with a uniquely flexible layout system. It also provides a single-file database format, TCP networking, and extensive debugging support. ZooLib applications are multithreaded. ZooLib requires only minimal support from the underlying OS and platform GUI layer, and thus could be ported to a completely new platform without too much difficulty"
X11 has been ported to OS/2 so theoretically X-based toolkits work in OS/2 X11 as well. see Xfree86/OS2)
Dog. gui,a lightweight, high-performance Java GUI toolkit which can serve as a replacement for the AWT (license. MozillaPublic License)
SWANK, a GUI toolkit implemented in Java, to be used with Jacl, a Tcl intrepreterin Java (BSD-style license)
JAPI, a non-OO, procedural toolkit built on top of AWT, and accessible from Pascal, C and Fortran, for Windows and Unix
BWidgets,"a professional lookfeel Toolkit. Everything is native so noplatform compilation, no compiled extension library needed. In Pure Tcl/Tk. For Unix, Windows and Mac." ( LGPLed)
Prima, "an extensible Perl toolkit for multi-platform GUI development. Supported platforms include Linux, Windows NT/9x/2K, OS/2, and UNIX/X11 workstations" (BSDed)
Tkinter, Tk-based GUI toolkit for Python, part of standard of Python distribution. Tk-based Additions, bindings under Pythin.
UITools, "a toolkit for building graphical user interfaces (GUI) for simulation programs," like these tasks commonly done with MatLab and FORTRAN.
Fresco (Berlin), an attempt to provide an alternative to X Windows. Also listed as a free GUI toolkit
SATIN and Quill, Java-based gesture toolkit that allow ink gesture inputs to drive GUIs (BSD licensed)
This toolkit is designed to assist you as you build meaningful and effective support for saving your program. School Library Media Program Health and Wellness Toolkit
This toolkit provides resources to help you build stakeholder support and true advocacy. Advocacy ToolkitCollection of ready-to-use tools to conduct an advocacy campaign--large or small--for school library media programs. Instructional Classification ToolkitCollection of resources to support the classification of SLMs as educators. @ your library Toolkit for School Library Media ProgramsThis toolkit includes messages, ideas, and strategies for promoting the value of school library media programs and library media specialists in the 21st century. ALA Libraries the Internet ToolkitALA has produced this "toolkit" to assist librarians in managing the Internet and educating their public about how to use it effectively. ALA encourages all libraries to implement policies that protect both children and public access to information and to take an active role in educating their communities about this important resource.
As a Supporter, you will receive the 2008 Physical Activity Guidelines for Americans Toolkit. The toolkit provides resources that will complement what your organization is doing now to encourage people in your community to get the amount of physical activity they need, based on the Guidelines and their own goals. Encourage Americans to make healthier lifestyle choices, and to Be Active, Healthy, and Happy!
Supports learning across and among diverse stakeholders including state, regional and community-based organizations. The information in the Toolkit is available free of charge to the general public.
The Toolkit is a distillation of the knowledge that the eHealth Initiative has accumulated through its work with multiple stakeholders and different communities. Stakeholders from every sector of healthcare, pioneers who are mobilizing information at the state, regional and community levels, and leading experts have provided significant input into a set of common principles and guides in seven Toolkit modules, each including easily accessible online documents and tools. Now, states, regions or communities can use one or more modules to move forward with confidence and at a more rapid pace. eHealth Initiative Foundation Releases New Communications Tools Based on Consumer Research on Secure Electronic Health Information Exchange Today, the eHealth Initiative Foundation (eHI) released research findings and a fully customizable set of new communications tools designed to enhance consumer understanding of the benefits of health IT and health information exchange (HIE). As part of the âInformationSTATâ¢â program, these public awareness tools can be used by state, regional and community initiatives to educate consumers about the real life-and-death difference secure electronic health information exchange can have. The eHI web-based tools and resources include downloadable public announcements for radio, âprint-readyâ artwork for advertisements and billboards, case examples, and brochures on the importance of electronic health information exchange. The more than 40 resources made available today also include partnership development guides and customizable brochures and powerpoint presentations which local sponsors can use to reach out to practicing clinicians and employers to engage them in health information exchange efforts across the country. Access to the InformationSTAT⢠program materials are available free of charge through the
Click here to view the press release. How Do I Use the Toolkit? Each Toolkit module includes an introduction and overview, common principles, sample community experiences, and a set of resources and links specific to the module, all of which are available to the public free of charge. The Toolkit is divided into seven distinct modules. Click on the links below to go directly to a module.
WhoDeveloped theToolkit? The Connecting Communities Toolkit was developed through a combination of the deliberations of the eHealth Initiative'sworking groups and advisory boards, the organization's experience working with several states and over260 regional and community-based collaboratives focused on health information exchange, eHI's annual survey of state, regional and community-based health information exchange initiatives and organizations, eHI position statements reviewed and vetted within its membership, experience and expertise of eHI staff, and individual interviews performed with leaders in health information exchange. Much of the toolkitwork was supported by funds from a cooperative agreement of the Health Resources Services Administration Office of the Advancement of Telehealth. Who Adds Resources and Tools to the Toolkit? On a regular basis, eHI working groupsand staff refine and continually improve the elements of the
Our volunteer chairs and lead staff are outlined in the Leadership section of each module. In addition, eHI accepts toolkit submissionsfrom organizations directly involved in health information exchange. If you have a tool or resource you would like to add to the toolkit contact Rachel Hoeft at us . While there is still no single one-size fits all' approach, common themes and principles are beginning to emerge. The Toolkit is designed to be a living, breathing, constantly improving resource. Through eHI's rapidly growing coalition of over 260 communities and membership representing every stakeholder in healthcare at the national level, we will work to find common ground and provide guidance to those who want to mobilize information to support patient care. (CLICK HERE TO JOIN THE CONNECTING COMMUNITIES MEMBERSHIP) We're still in the early stages. As the healthcare system evolves, so will the Toolkit. The website development and some of the content in the
Toolkits are timesaving aids that provide customizable turn-key solutions to help program planners plan, implement, and evaluate a specific health promotion intervention. Before implementing any of these interventions, the toolkits should be selected and evaluated based on the identified needs of your employee population. This section contains toolkits developed by Healthier Worksite Initiative (HWI), designated with, and toolkits available from other sources. The toolkits are divided into the four pillars of the President's HealthierUS Executive Order and a general category.
General Workforce Health Promotion Toolkits This section contains toolkits from CDC or other sources that address overall program design and planning for health promotion programs in the work place. Personal Empowerment Plan Personal Empowerment Plan (PEP) is a 12-week self-directed, work site program to promote healthy eating and moderate physical activity. The program materials include workbooks for healthy eating and physical activity targeting employees based on their motivational readiness to change. A coordinator's kit, promotional brochures, and posters are also included in the program.
The following toolkits address reducing barriers and increasing access to foods needed to help employees make healthier food choices in the work place. Garden Market Help your employees increase their fruit and vegetable intake. Learn how to create a fresh produce market at your work site. Other Nutritious Eating Toolkits This section contains toolkits from CDC or other sources that are specific to promoting nutritious eating in the work place.
The following toolkits address reducing barriers and increasing access to places for physical activity in the work place. Discount Fitness Club Network Discover how to increase your employees' access to places for physical activity outside of the work place by identifying and establishing a relationship with a nationwide discount fitness club network. StairWELL Find out steps you can take to encourage your employees to take the stairs and increase their physical activity while at work. Walkability Use this walkability audit tool to determine how safe and attractive the walking environment is at your work site. Other Physical Activity Toolkits This section contains toolkits available from CDC or other sources that are specific to increasing physical activity in the work place.
The following toolkits address how employers can help employees obtain preventive health services by offering screening programs in the work place. Mental Health Screenings Look here for information about offering work place mental health screenings on health topics such as depression, bipolar disorder, generalized anxiety disorder, and post-traumatic stress disorder. Other Preventive Health Screenings Toolkits This section contains toolkits available from CDC or other sources that are specific to preventive health screenings in the work place.
The following toolkits address how employers can help employees understand their risks for disease and make healthy lifestyle choices by offering programs at the work place. Lactation Support Program This toolkit is designed to help employers set up a comprehensive lactation support program for nursing mothers at the work site. Implementing a Tobacco-Free Campus Initiative in Your Workplace This toolkit provides guidance for implementing a tobacco-free campus initiative that includes a policy and comprehensive cessation services for employees. Other Healthy Choices Toolkits This section contains toolkits available from CDC or other sources that are specific to healthy choices, such as stress reduction and smoking and tobacco cessation, in the work place. back to top
Have you developed an open-source toolkit for the Digg API? If so, let us know on the DiggAPICommunitySupportForum. We'll review it, and if it looks useful for other developers, we'll add a pointer to it here.
Neaveru has written a JavaScript API Toolkit that can be used to create client side web pages that interact with Digg.
The HR Toolkit series has been developed as an easy source of reference and learning material on specific areas of people management.
S), the role analysis system used by the School to determine the band of each role throughout the School. The Human Resources Division have produced this toolkit to guide role holders and managers on the HERA process, the HERA elements and to guide them through the best way to complete the exercise for their particular purpose. The various options are explained and a flowchart is included to make the process a little clearer.
The purpose of this toolkit is to provide practical advice on how to manage disability in an employment context. It can help you to recruit from as wide a pool of candidates as possible, and retain skilled and experienced members of staff who have, or develop, disabilities. Managing Disability Toolkit (PDF)
The following Toolkits are available as paper documents only. to request a copy please follow the relevant links from the information below. Please note, the toolkits listed below are only available to managers at the School.
The Copy Writing Toolkit How to 'Right' Copy should be read in conjunction with the Recruitment Toolkit and is now available.
Its launch will be timed to coincide with that of LSE's new recruitment advertising styles and it has been put together to help you write better, cheaper and more targeted ads. Again, the toolkit focuses primarily on non-academic recruitment but is highly relevant to academic posts too.
The Diversity Toolkit is a unique method of distance learning developed in association with an outside consultancy called Grassroots. Its objective is to establish a basic level of understanding about diversity issues across the whole of the LSE, and every member of staff was issued with their own copy in June and July 2003.It is hoped that as many people as possible will want to support this initiative by taking the interactive test at the end of the toolkit. For more information see Respect for People. LSE's New Diversity Toolkit You will need a PIN to take the telephone quiz. For further details please contact recruitment.
If you don't have a copy of the toolkit, you can download one from the Respect for People. LSE's New Diversity Toolkit web page.
Prompt and effective management of sickness absence and performance issues related to health is extremely important in order to try to resolve the problems constructively and sensitively. This is in order to help individuals return to, and remain in, work whilst mitigating the operational impact that arises from such circumstances. The Capability Health Toolkit provides advice on how to deal with staff absence and health issues in accordance with the Schools procedures. It gives a brief introduction to the legal context in this area and extensive background information and practical
Guidance on the steps that should be taken in addressing these areas, including those circumstances where a capability health hearing is necessary. It also includes a reference section with draft reports and flowcharts. To supplement the toolkit, Employment Relations can also provide training on managing sickness absence - for further details and to request a copy of the Managing Capability Health Toolkit, please contact
More people want to work flexibly because more of us are either working parents or caring for elderly relative(s) or both, or want flexibility for personal interests. Human Resources Division has produced this toolkit to reflect the growing need for flexibility and to achieve consistency across the School for reasons of efficiency and equity. The purpose of this toolkit is to help managers and members of staff consider how flexible working can benefit their areas of work. Charts of the various options follow and a process flowchart is included to help with the thinking of all concerned.
The Flexible Working Toolkit should also be read when making or receiving a request for flexible working because agreeing to the request could be considered a reasonable adjustment that may help to overcome the effects of a disability and is therefore a positive step to achieve equality for the disabled employee.
The Managing Performance Toolkit contains a wealth of advice on constructively resolving performance problems with your staff that are applicable to both academic and non-academic colleagues. It gives a brief introduction to the legal context in this area and extensive background information and guidance on how to apply the non-academic disciplinary procedures if you have to. This includes an easy to follow quick reference section. The Managing Performance Toolkit is based on the content of two separate one day training courses - Managing Performance and Managing Discipline. For information or to book a place on the next course please see the LSE Staff Development Unit website - list of courses available to Staff.
The Recruitment Toolkit covers every aspect of non-academic recruitment, from what to do when someone resigns, through drawing up job descriptions and person specifications, to interview techniques and suggested questions. If you're involved in academic recruitment, much of the content will be relevant to you too. The toolkit is based on LSE's two day recruitment and selection skills training course, which also gives you a chance to practice recruitment techniques before you put them into practice. For further information about the course please visit the LSE Staff Development Unit website training on recruitment and selection.
If you would like to discuss the content of any of the above toolkits, please contact the Recruitment team for further information on the Recruitment and the Copy Writing Toolkit and for further information on Disciplinary and Diversity Toolkit please contact the Employment Relations team.
There will be more toolkits issued as time goes by and further information will be posted on this page.
The Digital Content Toolkit provides information, support, tools, ideas, models, research, and a community of practice for educators interested in using flexible computer technologies to reach and teach diverse learners.
Classroom applications of the toolkit and guidance in applying UDL in your classroom. Examples may include case stories, model instructional units, and/or model lessons.
Developed by consumers, families and caregivers, these two toolkits will orient consumers and their loved ones to collaborative care and the active role that they can play in prevention and care.
This toolkit is intended for all consumers, families and caregivers wishing to know more about mental health and mental illness, how to access services and the type of professionals that can assist them in their recovery.
This toolkit offers a basic overview of mental health and mental illness along with a contextual section outlining the impact of history, social, economic and political conditions on the mental health of these peoples. There are tools in this toolkit to foster holistic care.
Prepared by interprofessional expert panel and guided by a number of working groups, the general toolkit and eight companion toolkits will offer implementation advice to primary and mental health providers who wish to start a collaborative team that is tailored to their community health needs.
2nd Edition Dance Now Shipping! Kentucky teachers can now order toolkits in all four art forms. Drama 2nd Edition, Music, Visual Arts, and the brand-new expanded Dance 2nd Edition. Details Teachers Stories. Download the Spring 08 edition of
For inspiring stories, classroom ideas, and KET arts news. PDFfile In the Top 50. The Arts Toolkit project was a semifinalist in the 2008 Innovations in American Government Awards competition. Details
Welcome to the Arts Toolkit web site. Here teachers will find high-quality lesson plans and other resources in dance, drama, visual arts, and music, all designed to help you integrate the arts into the classroom experience. Students are invited to visit the Student Center for quick access to information about arts careers, our virtual museum, and other interesting activities. New resources will continue to be added, so visit often! This web site is the online component of the KET Arts Toolkit project, an innovative collaboration between Kentuckys arts and education communities. See About the Arts Toolkit to learn more about this award-winning multimedia project and the partners who made it possible.
The Internet Explorer 7 Readiness Toolkit provides an easy way for any audience that is involved in the development, test, deployment or support of Web sites, extensions, and/or applications to prepare for Internet Explorer 7.
The Internet Explorer 7 Readiness Toolkit provides an easy way for any audience that is involved in the development, test, deployment or support of Web sites, extensions, and/or applications to prepare for Internet Explorer 7. The Toolkit provides the following. • Updated! Testing guidance and tips for isolating and identifying a particular compatibility problem. • Updated! Improved navigation to help find information. • Pointer to the latest publicly available build of Internet Explorer 7. • Developer Checklist including new features and changes of interest to application and Web developers should be aware of. • Tools for development and testing. • Links to resources, technical articles, and helpful blog posts. • Various methods for providing feedback to Microsoft.
Setup Download and run the “IE7 Readiness Toolkit. MSI” file available above to install the toolkit on your local machine. Once installed, shortcuts will be added to your Start | All Programs menu. You can also deploy the toolkit in the following manner. Network share or Website – Copy the contents and folder structure to a network share or website infrastructure and launch or link to Default. htm. CD – Burn the contents and folder structure to a CD. When the user inserts the CD in their CD-Drive, the toolkit will automatically launch.
Questions, Feedback, Request for more information. • Send feedback or questions about the Readiness Toolkit to IEReady. • For feedback or questions on Internet Explorer 7, see the Provide Feedback section of the Readiness Toolkit.
Publishers. CIVICUS. World Alliance for Citizen Participation and MIllennium Development Goals Campaign Office Text. Jacqui Boulle and Debbie Newton Sources. The Material in this toolkit has been drawn from existing materials prepared by civil society organisation. In particular the team would like to thank CIVICUS, David Cohen of the Advocacy Institute and Beaty Hofmeyr of ETU for granting permission to use their material
Effective communications is mission critical. Information and communications technologies must be leadership and CEO concerns in any organization that wants to be a powerful agent of social change. The emerging -- and converging -- digital media environment also brings new potential for partnerships and collaborations, inviting qualitatively different relationships between organizations and their constituencies, members and donors. Nonprofit leaders need credible, succinct information to meet the challenges of the digital age. The Benton Foundation capacity building project documented best practices and lessons learned by nonprofits about the impact, successes, failures and struggles in using strategic communications. This toolkit catalogues valuable lessons and models for peer learning and archival reference purposes. The site is not updated but is archived in our library as a resource to the nonprofit community. Except for relevant event announcements, it was last updated May 2002. Toolkit Features. Think it Through
View the CCTI College Toolkits The CCTI Toolkit is a deliverable of the College and Career Transitions Initiative (CCTI). The toolkit was created by the fifteen CCTI exemplar sites. The purpose of this toolkit is to share information that has been generated by each of the sites in their CCTI work. Users can view each site's toolkit information by clicking on the site name. The toolkit includes a brief summary of the project underway at each site, a listing of the secondary and business partners and contact information. Perhaps of greatest interest will be the project documents that can be accessed by clicking on the documents listed in the upper right hand corner of the page. Initially the documents included are the sites's case study report, their project improvement plan, a listing of their primary strategies, and their Career Pathways template. CCTI is a federally funded project administered by the League for Innovation in the Community College Consortium in cooperation with several nationally recognized partner organizations. The main purpose of CCTI is to strengthen the role of the community and technical colleges in easing student transitions between secondary and postsecondary education and into employment and improving academic performance at both the secondary and postsecondary levels. Additional information on CCTI can be access throughout this website. Laurance J. Warford CCTI Project Director
Resources preservation toolkits Preservation toolkits have been developed by NEDCC in collaboration with other regional preservation centers and colleagues to provide ready-to-use information on various topics to augment professional development efforts. Toolkits may be viewed online or printed in PDF form as needed. Preservation Education Curriculum. An Introduction to Preservation
The Preservation Education Curriculum is a toolkit for a semester-long Introduction to Preservation course. The curriculum, divided into 13 three-hour classes, includes lesson plans. suggested readings and resources. suggested class activities, homework, and term projects. and an extensive image library. The curriculum, designed for adjuncts and existing faculty at MLS programs, allows instructors to expand or condense the classes to accommodate teaching strengths and incorporate guest speakers and field trips. Development of this course was funded by an Institute of Museum and Library Services Librarians for the 21st Century grant. The content for the three-year project, which began in January 2005, was developed by an advisory committee composed of leaders in the field of preservation. The Northeast Document Conservation Center, in partnership with the Simmons Graduate School of Library and Information Science, is proud to offer this curriculum to promote preservation as a valued component of a library school education. Stewardship of Digital Assets
Stewardship of Digital Assets was a two-day workshop on sustaining digital collections. A faculty of digital experts taught the interactive, hands-on workshop at four locations across the country from Fall 2007 to Fall 2008. The workshop was created in partnership with PALINET, SOLINET, Amigos Library Services, and OCLC Western Service Center. Funding was provided by the National Endowment for the Humanities. The toolkit consists of a number of tools to help you gauge and plan for digital preservation readiness at your institution. a questionnaire that will assist in planning, a digital preservation policy template, and numerous links to online resources. Click here to view this toolkit. Surveying Digital Preservation Readiness. Toolkit for Cultural Organizations
Was a three-day course that focused on the preservation and digitization of photographs in cultural heritage institutions. The toolkit consists of curriculum outlines and materials. This workshop series was created in partnership with The New England Museum Association (NEMA) and was funded by the Institute of Library and Museum Services (IMLS).
Find Your GUI Toolkit for Pythonbased on your preferences PyGUI, Tkinter, Easygui, wxPython, PythonCard, pyQt, pyGtk, Jython (Swing & AWT), Anygui, FXPy, pyFLTK. which one is for you?
For each criterion below, input an integer from 1 to 100, as a weight or relative importance factor. "1" means that the criterion is not very important to you, "100" means extremely important to you. "50" is somewhere right in the middle. All of these fine GUI toolkits are good, so you can't go wrong. but by ranking the importance of each criterion to you, this program will help you find the appropriateness of each toolkit for your current purposes.
Click to score the toolkits' suitability to you! Scores. Higher is better. Do not write in here. Reset to zeroes and try again?
All of these toolkits are good. Tune back in as we explore them further. Meanwhile, here is a brief summary of some of the many options available. This is a non-exhaustive list and new options are sprouting up all the time. Isn't it great to have choices! PyGUI. a GUI API that is designed specifically for Python, taking advantage of Python's unique language features and working smoothly with Python's data types. Tkinter. This default gui toolkit is installed when you install Python. It is mature, robust, and popular. You can be pretty sure that any user who has loaded Python can run any scripts you do using Tkinter. A very worthy toolkit. the standard bearer. Easygui. Easygui is the easiest gui-creator known to man. It is based on the Tkinter toolkit and it uses the simplest, most intuitive syntax imaginable. Newbies should definitely try this out in order to get a sense of accomplishment. It is, however, mainly for use in obtaining data input from users and sending simple dialogs and other communication to the user. More complex requirements will require a more powerful toolset, but Easygui is still good for some useful and interesting tasks! wxPython. wxPython is the "up and comer", the current challenger to Tkinter's throne. wxPython is a heavy-weight contender, with a great range of widgets that some find superior to Tkinter's. In addition, wxPython widgets have a more native look and feel on Windows than does Tkinter's widgets, since wxPython is built on top of wxWindows. On balance, wxPython is an excellent choice if you are using Windows. The tookit also works on Linux and Mac OS X, but is perhaps a bit more challenging to install than Tkinter. PythonCard. My sentimental favorite, PythonCard is relatively new, but it is developing very quickly. PythonCard uses a "framework" model, based on wxPython, and seperates logic from presentation by using a "resource editor" file. PythonCard is very easy to learn and use, and it may be the ultimate gui-creator for Python someday. In the meantime, it is gaining in popularity and installation is easy and automatic on Windows. Installation on Linux and Mac OS X can be tricky for newbies, as you must install wxPython before you can install PythonCard. Boa Constructor. A Gui Painter or Code Generator built on the wxPython toolkit, Boa Constructor development is still in Beta, but it ultimately offers the same kind of RAD, visual development tool as Visual Basic and Delphi, except it is also open source, free, and uses Python! Wax. Wax is a GUI framework implemented as a layer on top of wxPython. Wax is a creation of Hans Nowak, noted Python hacker, and is intended to be simpler and easier to use than wxPython while maintaining wxPython's full power. BlackAdder. A commercial GUI-Painter and IDE from theKompany, built on the Qt toolkit.. I have tried the hobbyist or home version, and it is really slick and inexpensive., but you must have a good understanding of the underlying Qt toolkit to do any real work.. Anygui. is a unique project in that it allows you to create gui's by writing simple, python-type code that then automatically senses and uses whichever gui toolkit the user has installed on his machine, giving obvious advantages in universality. The syntax seems intuitive to me and easygui is being developed by an all-star caste of Famous Python Developers! pyGtk. Based on the Gtk toolkit that underlies the Gnome environment for Linux and the GIMP, pyGtk is very powerful. There is a free gui painter available called pyGlade. pyGtk is great for use on Linux but is also good for Windows. pyGtk is powerful, professional grade stuff, but is not particularly easy. Glade. a User Interface Builder for GTK+ and GNOME
Gazpacho.Next Generation GUI Design for GTK+ and GNOME Jython. By using Jython, one gets easy access to the Java GUi libraries, SWING and AWT. In fact, using SWING or AWT is much easier using Jython than when using Java itself, because of the legendary ease of use of the Python syntax. however, you may have more difficulty porting your gui form the original environment in which you code it, m to another computer operating system than if you use Java. Still, it is portable, and relatively easy. I like playing around with Jython and SWIng, which is better than AWT. AWT however, has one advantage. it works on the Sharp Zaurus Linux based PDA, while SWING does not. Jython and SWING is a good choice of ruse on the Mac OS X., Linux, and also Windows. HTML. Not a Python gui toolkit, but if you want to rub your Python code form a web browser using CGI, then creating a simple User Interface using HTML is the way to go. FXPy. Uses the OpenGL toolkit and runs on just about any Unix and also on Windows. pyFLTK. The Fast Light Toolkit is relatively easy for simple, lightweight guis. It runs on the openGL toolkit. PythonWorks. A commercial gui-Painter and IDE, unfortunately discontinued byPythonWare. It was a first class product using the Tkinter toolkit. Unfortunately discontinued but see PythonWare's other fine products TwiLight GUIA GUI wrapper for wxPython, Tkinter, PyQT and PyGTK Venster, a GUI Toolkit for Windows Still more GUI toolkit options and information from the Python Wiki Other GUI options. vPython is a really neat, easy to use toolkit for creating moving 3d graphics with Python. Highly recommended and fun to play around with!!! PicoGui is a compact module for creating gui's on embedded systems and such small footprint devices. It runs on Linux and various PDA's, including the Sharp Zaurus. Back to Python City
This guide collects links to Semantic Web toolkits for different programming languages and gives an overview about the features of each toolkit, the strength of the development effort and the toolkit's user community.
2.1 C 2.2 Haskell 2.3 Java 2.4 JavaScript 2.5 Common Lisp 2.6 .Net/Mono 2.7 Perl 2.8 PHP 2.9 Pike 2.10 Prolog 2.11 Python 2.12 Ruby 2.13 Proprietary Languages 2.14 Commercial Toolkits
This guide collects links to Semantic Web toolkits for different programming languages. We evaluate for each toolkit.
Our current evaluation results are found below. The information was collected by us from the websites of the toolkits or was sent to us by the developers of the toolkits. Thanks a lot to all toolkit developers and users who helped to create this guide. Request for Support We are trying to keep this guide up-to-date. So.
If you know about a toolkit that we have missed, it would be nice if you could send us a link. We didn't find toolkits for ActionScript and ColdFusion yet. Is there any Semantic Web support for these languages?
If you are a developer of one of the evaluated toolkits, it would be nice if you would have a quick look at our results and tell us if we got something wrong.
If you are a developer of one of the toolkits and you release a new version with additional features, please let us know so that we can update our data.
All hints are highly appreciated. Please send feedback to. us Alternative Toolkit Lists Other, alternative toolkit lists are found at
This chapter lists all known toolkits ordered by programming language. The comparison criteria are explained at the end of this document.
Publication date of the current release of the toolkit. If you know about a new release of any toolkit with new features, please let us know.
Number of persons involved in developing and maintaining the toolkit. If the toolkit is hosted on Sourceforge, we took the number of developers listed there. Otherwise we counted everybody mentioned as developers on the project website. This figure might be misleading if a project consists of many developers who only contribute occationally.
Total number of downloads until January 2005. If the toolkit is hosted on Sourceforge, we took the download figure listed there. If the toolkit is part of another toolkit for a different purpose (like a general XML toolkit), then we didn't use the download figure, because it doesn't reflect the demand for the actual Semantic Web toolkit. If a tool kit consists of several packages which have to be downloaded separately, we also didn't use this download figure.
List of all RDF query languages supported by the toolkit. A comparison of different Semantic Web query languages is found here. Support for SPARQL means that the toolkit supports at least some features of the standard RDF query language currently developed by DAWG.
Supported serialization formats for reading and writing RDF models. An overview about different RDF serialization formats is found here. Information about GRDDL is found here. A comparison how different toolkits handle the W3C RDF Test Cases is found here.
Ontology-languages supported by the toolkit to infer implicit statements. A language is already listed if most of the inference rules of the language are supported by the toolkit. A comparison how different toolkits handle the W3C OWL Test Cases is found here.
Indicator if the toolkit contains some kind of RDF server, which allows models to be queried over the web using HTTP or SOAP. For more information about RDF servers and data access protocols see W3C DAWG work on protocols.
us.. Added ActiveRDF. Updated description of Redland, ARC, Jibbering and the version numbers of some more toolkits.
SETDA members, corporate partners, and representatives from various educational organizations meet in the fall of each year to share resources andto create Toolkits designed to meet the educational technology needs of educators. The SETDA Toolkits are free resources for all educators.2008 Toolkit
Work experience is of increasing importance on a graduate CV. Disability Toolkits aims to help you gain and make the most of work experience and placement opportunities, exploring some of the issues that you might face as a disabled student and providing you with information and sources of support that may benefit you.
If you want help on using these toolkits, click here to go to the Certified Service Providers (CSP) section in the menu on the left.
How to Create and Implement Healthy General Plans was produced with Raimi and Associates and supported by The California Endowment. These toolkits are created for health advocates and professionals who are interested in learning more about the connections between planning decisions and community health. They are designed to serve as learning and reference materials to guide and inform participation in land use and economic development processes.
Quickly and easily access toolkits and plug-ins that will empower your IDL and ENVI applications. Each listing here includes code samples and documentation to help you jump start your programming or application development. Please note that these free toolkits are not maintained or supported by ITT VIS Technical Support.
This LiDAR toolkit provides a user of .LAS format LiDAR point cloud data with visualization, analysis and interpretation tools. Specific functionality includes various point cloud filtering methods, ASCII to .LAS conversion, raster product generation and .LAS tiling, subsetting, buffering and decimation.
The MODIS Conversion Toolkit (MCTK) is plugin for ENVI that can ingest, process, and georeference every known MODIS product (currently 143) through your choice of an easy-to-use interactive widget interface or a fully-accessible programmatic interface.
This custom toolkit provides support to planetary scientists working with HiRISE RDR (Reduced Data Record) image data. This toolkit is distributed as a plugin to ENVI.
The materials below may be used by any participant during Sunshine Week 2009, March 15-21, or to promote awareness beforehand, unless otherwise noted. The toolkit will be repopulated frequently, so check back often for new material.
This article is aimed at Unix developers who already have some experience with programming languages and want to start developing GUI applications (mainly for The X Window System, though portability is discussed). It may also come in handy if you have used a particular GUI toolkit for some time and want to know whether others might suit your needs better. The main focus is comparison and introduction, but it serves as a bit of tutorial, as well.
Money. All of the toolkits mentioned here can be used free of charge (Qt only for non-commercial applications, though). Even if they couldn't, the time saved would make up for the initial cost.
Performance. I was unsure myself whether the use of a toolkit would yield a performance penalty, and therefore collected some information regarding this issue. My research shows that the overhead caused by the additional far jumps (read. function calls) is negligible for all but the most critical applications (at least with GTK's drawing library, GDK. see "Timing analysis of Xlib and GDK"). Even there, I don't think that this is a problem with today's CPUs and graphics cards.
Flexibility. One could say that we're giving up flexibility by not using the most primitive functions. Most toolkits just remove the fuss of dealing with Xlib. I can't think of any case in which Xlib would give the programmer more freedom than a toolkit does. And if you pay attention to the fact that most toolkits are organized in an object-oriented fashion, which also means (multiple) inheritance, you will see that this argument certifies Xlib as a disadvantage instead of an advantage.
Below, I offer a guide to various toolkits for POSIX-based systems which can be used free of charge. GTK+/gtkmm, Trolltech Qt, FOX Toolkit, FLTK, and wxWindows. It will start with some general information about the concepts of GUI programming, so beginners will have a better chance of understanding the code examples I provide. All toolkits will mainly be examined in terms of maturity (which means stability), popularity (which popular applications/how many applications use this toolkit?), accessibility and internationalization support, portability, language bindings, extensibility, licensing conditions, and documentation. The core of each toolkit's information is written in continuous English sentences, but a spotlight on the specific properties follows each section. Please note that I won't cover Motif/Lesstif in this article because it is similar to Xlib in terms of age and complexity. Tcl/Tk isn't much better. If you feel a specific toolkit should be mentioned here, drop me an email.
From Eric S. Raymond's "Jargon File". "[.] [poss. evoking 'window gadget'] A user interface object in X graphical user interfaces." So what exactly is a widget by example? A button you can click on, a value slider you can slide around, a window, checkboxes, radio buttons. The term "widget" is used with most toolkits (also on Win32) nowadays as a generic name for these objects.
Most, if not all GUI toolkits, be they in C or C++, have this. The main loop waits for user input and controls various other things (depending on the toolkit).
GTK" is the abbreviation for "The GIMP Toolkit", which was originally developed for the popular 2D graphics application "The GIMP" (for more information on the history of GTK+, see The GTK+ FAQ, sections 1.2ff). Since then, it has evolved into a large collaborative project. The current major version of GTK+ is 2, and it introduces (in comparison with the old 1.2 series) some new and enhanced widgets, better internationalized input support, speed improvements, and a lot of API changes, along with all the resulting incompatibilities. GTK+ itself is written in pure C using an object-oriented approach, special types, and casts. There is, however, a C++ wrapper library called "gtkmm" (formerly GTK--), which reacts very quickly to changes in the underlying GTK+ code and offers developers a very good C++ API. The fact that there exists a plain C API and numerous language bindings attracts a lot of developers and is responsible for the toolkit's great popularity. gtkmm adds C++'s syntactical sugar and built-in object-orientation features. Thanks to its well-defined interface, very structured and clean programming is possible. GTK+ 2 supports Unicode natively. translation is not integrated and must be done with GNU gettext or another tool or technique of your choice. Some important things are not present in the GTK+ distribution, such as support for OpenGL. This is a design decision by the GTK+/gtkmm development teams, resulting in a very modular approach, so that you have, in this example, the choice between GtkGLArea, a widget that serves as a GL viewport (beware. the homepage is dead, the current version doesn't compile), and GtkGLExt and its C++ wrapper gtkglextmm, which integrates seamlessly with gtkmm. (The gtkglext packages provide the ability to use OpenGL code on
Qt is the next big GUI package I'd like to discuss here. In terms of size and functionality, it is probably next to GTK+. The popular major versions of Qt are 2 and 3, and both are written in C++ with the addition of a precompiler pass involving a special program from Trolltech, the "Meta Object Compiler", or "MOC". It meddles with Trolltech's C++ extensions (such as arbitrary class information like name and author or signal/slot capabilities for each class), things that C++, RTTI, and gtkmm with its libsigc++ provide. The problem with Qt is that it was written with early C++ compilers in mind which didn't offer the capabilities Trolltech needed for their GUI toolkit, and today, one has to work with the slack. There is also another precompiler called "User Interface Compiler", or "UIC". It must be invoked if you use the integrated RAD environment QtDesigner. QtDesigner saves its files in XML format. UIC converts them to C++ source. These additional build steps can, of course, be integrated into the project's Makefile (there are examples of how to do this in Qt's manual), so I don't think of it as a negative thing. Documentation in HTML format and man pages comes with the Qt source tree, and a PDF version is available for download. There is also an application for browsing the documentation ("QtAssistant"). Unfortunately, I couldn't get it to work. No matter, my browser does just as well (though without a global search feature). Before I continue discussing the technical aspects of Qt, I will discuss the license issues that caused a lot of disturbance and uncertainty in the Open Source community. What you get when you download Qt 2/3 is the free X11 version ("Qt Free Edition") which enables you to write non-commercial applications for The X Window System. When you want to create commercial, proprietary, or non-free software, or want to compile your program for Windows or embedded systems, you'll have to pay for the Qt Professional or Enterprise version (both are quite expensive). Qt tried to specify this in their own license (the "QPL") because they felt the GPL could cause them some problems (please see freshmeat article #180 for more information). From Qt 2.2 and upwards, you can now freely choose between the QPL and GPL before building the libraries. That's the whole story. if you feel I missed an important point, feel free to correct me (Qt flames go straight to /dev/null, though). You can read more about Trolltech's licensing issues in freshmeat articles #170, #172, and the one mentioned above. Back to tech. Along with QtDesigner and QtAssistant, Trolltech bundles even more useful applications with the Qt package. There is QtLinguist for easy editing of translation packages, qembed, a tool to convert many different sorts of data to embedded C code, and qmake, a portable Make utility with special support for Qt. QtDesigner offers, in addition to its basic functionality, wizards to help you get started. Widgets and predefined dialogs have, by default, a look very similar to Microsoft Windows. It is fully themable, though, so at least the colors can be changed. The internationalization capabilities are quite excellent. There is the tool mentioned above (QtLinguist), support for argument strings (think of
Without the disadvantages), and Unicode support. A string class and various other convenient STL stuff is also included, so you don't have to use STL in your project. I feel that Qt's weaknesses lie not in its technical aspect, but in Trolltech's general attitude towards the end user. Trolltech says they wanted to create, among other things, a free toolkit for developers of Free Software. They succeeded, and Qt-X11 is a very good product used by many applications, the most prominent being KDE. But when you look at their Web site, you'll see a lot of business talk and praises reminding me of a market place. And what if you want to port your program to Windows? No problem if you have $1,550. for this price, you get the professional version of Qt. The Macintosh and Embedded versions are free, though. I can't help it, but the real Free Software community feeling doesn't well up on my side. This should not stop you from choosing Qt if it fits your needs, though. it is a toolkit like the others presented here, with its own strengths and weaknesses. I'll get back to Qt and "fitting your needs" in the summary.
FLTK is the C++ successor to the XForms library (which is written in plain C), so I won't cover the latter here. XForms is not Free Software and is free of charge only for non-commercial use. FLTK's strength lies, as its name suggests, in its size and speed. The abstract base class for widgets is 60 bytes, and a statically linked and stripped "hello world" is ~80kb. FLTK code is carefully organized and offers the linker a lot of opportunities to leave unused code out. The basic widget types have many variants, some of which are quite innovative and beautiful. FLTK's main loop (which waits for and processes user events) is non-blocking. FLTK must be instructed explicitly to wait for events. While FLTK lacks precomposed dialogs, it offers a very optimized and direct interface to OpenGL, and a compatibility header file for GLUT is included. In my opinion, this is a very good base for getting started with 3D programming. The toolkit is also, in general terms, very friendly to beginners, and is easily understood. One thing you have to get used to is the quite unique (yes, that word again. FLTK has some things not found in the other toolkits) method of getting and setting widget attributes. You may be used to things like
WxWindows is a giant among GUI toolkits. The documentation section reflects the size and functionality of the whole toolkit quite well, and it's not small. It is a very well-designed toolkit with portability and features in mind. In the number of language bindings, it is only surpassed by GTK+, its RAD tools are innumerable, and there's even an OS/2 port. The wxWindows team is especially proud that its toolkit is one of the most advanced and mature ones. They're right. its history starts in 1992. Despite these facts, it is not very well known. That might change in the near future, as wxPython (for example) is getting more and more happy developers, and wxWindows developers are zealous when it comes to GUI toolkits. The core of wxWindows is rock solid. Only 10% of its functions are non-portable OS-specific drawing functions, and so it claims to be a kind of "written once, running anywhere" toolkit, like FOX. There's also a version that sits atop GTK+, so it can be seen as an addition and simplification of the toolkit level GTK+ is on. With this in mind, one can see that wxWindows adds many convenient features. A built-in configuration file API saves a lot of work that most applications require, and the same goes for printing support. Resource files in XML format ensure optimum portability, and the integrated HTML class makes reports, text formatting, and a help viewer a piece of cake. Its position among the other toolkits is discussed in the summary.
The FOX toolkit is, in terms of features and portability, probably next to wxWindows, but it introduces some interesting concepts and occasionally obscures things which could be straightforward. For example, it requires you to call the FX_DECLARE macro in the declaration of a class derived from an FX object. This may result in less typing, but also in less clarity, and exchanging clarity for brevity is something I'm not very fond of. Or take the message ID handling. The documentation tells the developer to use an enum and fiddle around with FOX's private message IDs. That hurts me, and I think to myself, "Why don't they provide a class for this? Why does someone write a library in C++ if he misses some of the fundamental concepts of the language, like data encapsulation?" Enough ranting. After all, FOX has some really fine features to offer! For example, its messaging system. All FOX objects can send messages to each other and receive all kinds of events. Message forwarding is also possible, and automatic updating of GUI elements according to specified conditions in the application. What FOX does here is basically take the functionality of gtkmm's libsigc++ and add a lot of predefined stuff to it. This may be complicated, but is also very convenient. Easy incorporation of outside events (like incoming data via a pipe or signals) is also possible with FOX. Data targets provide an excellent interface between data and widgets, again taking tedious chores away from you. Last but not least, FOX comes with its own regular expression class, which might come in handy. All in all, FOX can be a very powerful, comfortable, and portable toolkit once you get used to its syntax (and do better OO than the documentation's examples).
All of the toolkits mentioned have quality reference documentation with tutorials and a comprehensive hyperlinked API reference. All of them have wrappers for other languages, with C++ still the most structured and fastest of all (though scripting languages are easier to program with). Speaking of C++, all the toolkits but gtkmm neglect the fact that C++ has a very useful feature called "namespaces". Instead of using namespaces, they add a prefix to their functions and classes. A good feature they all have is dynamic layout. none of them relies on pure Cartesian pixel coordinates, although it is possible to arrange widgets with them in this way. Two toolkits, wxWindows and FOX, rely on preprocessor macros for critical calls. This is a bad habit because type safety is thrown away. GTK+ uses macros, too, but it uses them almost exclusively for safe type casting and enhances type safety in this way, instead of losing it. For a short summary and comparison of the toolkits, I'll start with FLTK because of its unique position. It is the only toolkit discussed here which offers amazingly small and fast applications while still keeping a lot of useful widgets at the programmer's disposal. It is ideal for projects that need to be small and/or fast and programmers who like clean and straightforward interfaces. If you want to have a solid base and good internationalization or just want to program in plain C (ugh!), GTK+ is the all-around choice. gtkmm offers even more, and it has the cleanest and most structured API I've ever seen, but if you want extra functionality (OpenGL, for example), you'll have to rely on external libraries. If you're not an API purist, you can choose among the three huge toolkits, FOX, Qt, and wxWindows. I personally think Qt is made irrelevant by both of the others because they are not missing anything Qt offers. The tools that come with Qt may not be bundled with them, but comparable tools do exist and can be used free of charge, and most often as Free Software. Qt's biggest weaknesses are its relic called "MOC" and its business orientation. Yes, it's GPL, but not for MS Windows, so you're not really free. FOX and (especially) wxWindows offer similarly advanced sets of widgets and techniques, so you might as well throw Qt away. In terms of portability, it's the same, and wxWindows even adds OS/2 portability. Believe me, I don't want to be unfair to Trolltech or upset dedicated Qt developers. I tried to be objective, and that's my objective conclusion. Maybe we can discuss this point in the comments for this article.
Boa Constructor - A RAD GUI-building IDE for wxPython. DirectFB - A hardware-accelerated graphics library on top of the Linux framebuffer device. FLTK - A C++ user interface toolkit for X11, Win32, and Mac OS X. FOX - A C++-based library for graphical user interface development. gettext - The GNU internationalization library. GIMP - GNU Image Manipulation Program. Glade - GUI builder for GTK+ and GNOME GTK+ - A library for creating graphical user interfaces. GtkGLExt - An OpenGL extension to GTK+. gtkglextmm - A C++ wrapper for GtkGLExt. gtkmm - A C++ interface for the popular GUI library GTK+. Lesstif - LGPL'd re-implementation of Motif Qt - A cross-platform development framework/toolkit. Tcl/Tk - A portable scripting environment for Unix, Windows, and Macintosh. UICollection - A one-stop solution for Java client user interface development. wxPython - A Python extension module for wxWidgets. wxWidgets - A C++ cross-platform GUI library. XForms - A GUI toolkit based on Xlib.
I have never used TCL/TK, but I have heard it said on many occasions that the syntax for TCL is rather strange. I personally prefer Python - it is clean, object oriented, and has bindings for many GUI toolkits.
The # of developers currently using any of these toolkits is tiny compared to the # of Windows C++ developers. For example, the CodeProject site for Windows C++ developers has recently passed half a million registered users. Some of these developers are migrating to C#. Many of them don't really like MFC but they still like C++ and would prefer to not go to C#. I hope that some of these developers will migrate to one of the cross-platform toolkits mentioned here. Unfortunately, most of them have never even heard of any of these toolkits. Instead they are migrating to another (unsupported) MS toolkit called WTL. (Now ain't that a wonderful combo. totally proprietary, but unsupported, only works on windows, and it could dissapear at any time.) If you don't care about this, please don't flame me. Just stop reading. I do care and here's what I think is necessary to change this situation. There needs to be a single, prominent, default C++ toolkit. There can still be lots of others, but one should be crowned king. This toolkit must. - be totally free. Qt is not an option. Windows developers are not going to abandon free toolkits for really expensive ones. - use native widgets. Almost the whole target market for these developers is Windows users. They don't want a toolkit that uses GTK+ widgets on Windows (though personally I think GTK2 looks pretty good). - exist now. If we start a design process on Boost now, and then eventually develop something it will be too late. Everyone will be using Java, C#, or VB by then. This toolkit should. - use modern C++. The developers who really like C++ want to use the STL, templates, exceptions, RTI, etc. - become the basis for OOo. This would give it a higher profile and more users, not to mention all that code. (The OOo people are planning to move their code to a new GUI toolkit, by the way.) But I guess I'm dreaming.
Borland released an IDE for the wxwindows toolkit. Linux, Solaris,. are supported. This is a boon IMO. C++BuilderX Personal Edition. Release Date. 10/07/2003
> > > There needs to be a single, prominent, > default C++ toolkit. There can still be > lots of others, but one should be > crowned king. > > This toolkit must. > > - be totally free. Qt is not an option. > Windows developers are not going to > abandon free toolkits for really > expensive ones. > > - use native widgets. Almost the whole > target market for these developers is > Windows users. They don't want a > toolkit that uses GTK+ widgets on > Windows (though personally I think GTK2 > looks pretty good). > > - exist now. If we start a design > process on Boost now, and then > eventually develop something it will be > too late. Everyone will be using Java, > C#, or VB by then. > > This toolkit should. > > - use modern C++. The developers who > really like C++ want to use the STL, > templates, exceptions, RTI, etc. > > - become the basis for OOo. This would > give it a higher profile and more users, > not to mention all that code. (The OOo > people are planning to move their code > to a new GUI toolkit, by the way.) > > But I guess I'm dreaming.
GUI toolkits often lend themselves to certain application spaces based on their features. See QT and its various flavors. What are people using for Set Top Box GUIs? I've seen Espial Espresso as being designed specifically for the STB market. Any experiences with that product or STB GUI kits in general?
In the FOX description. That hurts me, and I think to myself, Why don't they provide a class for this? Why does someone write a library in C++ if he misses some of the fundamental concepts of the language, like data encapsulation? I believe it is the author of the article, not the authors of FOX who miss the point of C++. The point of Java is to force programmers to use object oriented programming, with one specific object oriented paradigm/style. If a programmer fails to use data encapsulation, etc. then they are missing the point of Java. In C++, the point is to give the programmer a general set of tools, and rely on the programmer to pick the right programming paradigm. Sometimes this is object oriented, of one of the many styles/paradigms thereof. Sometimes, it's template-based, and sometimes it's structured. It's designed to provide as much flexibility as possible, and rely on the programmer to use discipline to maintain consistancy with whatever style they choose. This means there are properly designed pieces of C++ code that explicitly do not use encapsulation/data hiding. Languages like Java were created as a reaction to languages like C++, where the language designers found that significant numbers of mediocre programmers, as well as almost all beginners, were misusing the language, and so tried to force a specific paradigm onto the programmer. I've never used FOX, so they may be misdesigning something, but this isn't by missing the concepts of the language. If you want to have the language to have concepts about how a person should program, go with a language designed for beginners or mediocre programmers, like Java or Pascal. C++ ain't got it. On a side note, to the person who posted Another set of opinions, it is very much not true that Qt is by most accounts the best designed, fullest featured, and fastest to work with C++ GUI toolkit out there. Look at the number of Gnome developers, most of whom would disagree. I mostly dislike Qt because it is very heavy-weight, and forces a lifestyle change. It forces me into a very specific programming paradigm, programming language, requires me to structure my code around the structure of the toolkit, wants me to run my code through additional compilers, etc. I can, for instance, take an arbitrary piece of code, and add a GTK interface to it, or take a properly written piece of GTK code, and make it into a text-mode version. With Qt, I have to restructure my code to fit Qt's world view, and once Qt is merged into a bit of code, getting its grubby claws out is a royal pain. I guess another way of putting it is that Qt is an application framework, rather than just a GUI toolkit. GTK has application frameworks on top of it, just as the Windows API has MFC on top of it (which is actually lighter-weight than Qt), but both allow access to the GUI toolkit without requiring the framework. This isn't the case for Qt. This limits a significant set of apps I would want to write Qt is nice for very rapid prototyping of applications, and having the amount of framework they include and require is nice for most (but not all) applications. However, I find the lack of flexibility, in terms of global program structure and style, languages, etc. to make it fairly subideal as a general-purpose GUI toolkit. This bites you whenever you're doing anything non-standard, and in a lot of cases, where you are using two libraries with the same sort of take-over-the-world approach, but an incompatible way of taking over. I don't think a GUI toolkit that only works for 90% of the applications out there is a good solution.
My concern is that the bulk of applications created limit themselves to the current idiom. This has the apparent benefit that 'everyone' understands the paradigm. However it leaves little room for enhancements. Why does the article makes no mention of accessibility? Is keyboard, or switch support fully integrated in all cases? Can buttons be resized by end-users? can they edit toolbars? can they zoom in on part of the application of interest? My particular research is with people who have severe learning difficulties, many of whom cannot read. SVG scaleable vector graphics offer an opportunity to define a workspace that is not so absolutely cartesian, and ours is . It has non-rectangular buttons with shaped borders that highlight on use, it plays a sound file on use, offers the opportunity to manipulate a web based GUI freestyle. One day a dashboard might be somewhat like this.-) Cartographers also seem to like SVG. Does anyone have an example of an application that has broken out of the box? My knowledge of GUI Toolkits is extremely limited, but OPIE VB6 used to exist Isn't there a javascript/DHTML toolkit? XForms is free it is a W3 standard. It would be nice to have some screenshots OPIE has some excellent ones here. are there any for fltk? --
> It has > non-rectangular buttons > with shaped borders that highlight on > use, it plays a > sound file on use, could something like this be implemented as an "accessibility" skin to an existing toolkit?
I am currently a contractor for Sandia Natl. Labs (www. sandia. gov). I was to create a cross-platform CAD/CAM solution for freeform fabrication. I looked at several toolkits and here is why I choose Qt. 1) Support. For people with commercial licenses, all emails are responded to by a professional developer who works with you until your problem is resolved. 2) Integration. I didn't need to find several libraries or tools to solve my needs for XML DOM, OpenGL, cross-platform build system, and translation. 3) Feature Requests and Maintenance. Since my license helps support Qt development in a very direct way, feature requests and bug reports are taken very seriously. Qt having a team of full time developers, guarentees me the package's steady evolution. 4) Documentation. The documentation is supurb. The official reference and tutorial collection is great. 5) Cross-platform support. No other toolkit comes close to the Windows/X11/OSX compatibility. None of the other toolkits out there met this criteria. Although my reasoning isn't orthoginal to open-source developers . . . it might be useful to see this perspective as well.
I just don't understand why Linux / Open Source programmers would rather spend lots of extra time and effort hacking out a GUI in C or C++. I used to program directly to Xlib, and I feel the same way as the toolkit users who would feel sorry for somebody using straight Xlib. With Java you get a simple and powerful API for creating UIs. You get more advanced graphics features than pretty much everything out there (anti-aliased everything, real transforms, geometry, alpha/composites, extremely optimized pipeline, pluggable look and feels, event-based callbacks, automatic pacing and coalescing of repaints, internationalization, etc). And then you get other Java benefits like working on every operation system, reflection, garbage collection, weak/soft references, huge library of useful stuff like zip, regex, crypto, XML, etc. Finally, Java itself is not slow and does not use a lot of memory. It used to be at least 40x slower but now it's the speed of unoptimized C or better. Programs can even call overridden methods dynamically at runtime (ie, lookup method by string variable) at only 1/5th the speed of a static compiled call in C++. That's freakin unbelievable. And most 'hotspots' are actually optimized better than in C++. Compared to other toolkits, Swing (the UI part of Java) starts up slowly and uses a lot of memory (it was designed by former Smalltalk people.). But once it's up and running it's fast and doesn't use much extra memory. So it isn't suitable for simple applications for that reason, but for medium or large ones it's an excellent choice technically speaking. Most of the difficulty is due to the operating system fighting Java. if you've ever used Java on Mac OS X for instance you'll know how beautifully it integrates with the OS. A Mac user can just double-click on an executable JAR file (ZIP format) and they can just double-click and it runs like any other app, looks like any other app, and shares memory with other Java apps so it doesn't take many resources. On Windows, they have to install Java first and each Java app takes substantial resources. On Linux Java it's an even worse situation.
> > I just don't understand why Linux / Open > Source programmers would rather spend > lots of extra time and effort hacking > out a GUI in C or C++. I used to > program directly to Xlib, and I feel the > same way as the toolkit users who would > feel sorry for somebody using straight > Xlib. > > With Java you get a simple and powerful > API for creating UIs. You get more > advanced graphics features than pretty > much everything out there (anti-aliased > everything, real transforms, geometry, > alpha/composites, extremely optimized > pipeline, pluggable look and feels, > event-based callbacks, automatic pacing > and coalescing of repaints, > internationalization, etc). > > And then you get other Java benefits > like working on every operation system, > reflection, garbage collection, > weak/soft references, huge library of > useful stuff like zip, regex, crypto, > XML, etc. > > Finally, Java itself is not slow and > does not use a lot of memory. It used > to be at least 40x slower but now it's > the speed of unoptimized C or better. > Programs can even call overridden > methods dynamically at runtime (ie, > lookup method by string variable) at > only 1/5th the speed of a static > compiled call in C++. That's freakin > unbelievable. And most 'hotspots' are > actually optimized better than in C++. > > Compared to other toolkits, Swing (the > UI part of Java) starts up slowly and > uses a lot of memory (it was designed by > former Smalltalk people.). But once > it's up and running it's fast and > doesn't use much extra memory. So it > isn't suitable for simple applications > for that reason, but for medium or large > ones it's an excellent choice > technically speaking. > > Most of the difficulty is due to the > operating system fighting Java. if > you've ever used Java on Mac OS X for > instance you'll know how beautifully it > integrates with the OS. A Mac user can > just double-click on an executable JAR > file (ZIP format) and they can just > double-click and it runs like any other > app, looks like any other app, and > shares memory with other Java apps so it > doesn't take many resources. On > Windows, they have to install Java first > and each Java app takes substantial > resources. On Linux Java it's an even > worse situation. > >
> 1. Java did not allow me to adapt the > color and size of each > cell in a grid or table row individually > to its content. With > wxPython I can adjust the color as well > as the height and > width of each cell. Call table. setDefaultRenderer. The renderer is usually a label component (but can be anything) and you set the color, width, height, etc on that. Or you can have it draw anything you want. This is much more flexible that other toolkits and only takes a small time to get use to. > 2. According to Bruce Eckel (author of > 'Thinking in Java' > and of 'Thinking in C'), as well as > according to other > professional programmers, with Python, > programming > towards a given goal is up to 10 times > faster and the > afterwards, the programm is much easier > to debug and to > maintain. So use JPython/Jython then. You'll get to write your scripts AND use a better GUI library for them. > 3. Licence, Qualitiy and Money. I did > use Borlands > J-Builder. [.] You're comparing J-Builder with emacs? > So now I use EMACS with Python, wxPython > and > wxDesigner instead, and I am very happy > to have switched. > It is better quality, with a better > licence for less money. Look, Java isn't for everyone but from the sound of it I seriously doubt most of y'all responding know enough about Java to make an informed decision past just personal preference. That's fine, we can't know everything about everything. I would have liked to see Java+Swing or Java+SWT in the article.
This post was better written and longer, then I accidentally closed the browser tab *slap self*. To get down to it, it's all about personal preference. Certainly you do not see advantage to using C and Xlib. The advantage is speed (of execution) when one has it proper. Of course the disadvantage is that it sucks to use, which is what the author of the review states. You prefer to use Java and Swing, that's fine. There are others that prefer using C++ and wxWindows. Functionally, they offer very much the same thing. object orientation, portability, etc. Certainly there are major differences between the two, but if you had the chance to use wxWindows, you'd find that wxWindows, as well as all the other toolkits given, offer nearly all the features of Swing, without being tied to Java. Hell, if we wanted to go a step farther, and even use a language that is easy to develop with, can be used with any of the given libraries, Python can be used (including GTK, which the author is mistaken on). It offers many, if not all of the bonus features of Java, and with any of the GUI toolkits given, offers GUI features at least as good as Swing. Certainly this only matters if one uses a language other than Java to develop a GUI, but one thing made abundantly clear in your post is that you poo-poo on any language+GUI toolkit combination that is not Java+Swing. Hey, you are entitled to your own opinion. But remember, one of the many reasons people program is because it offers choice. Java+Swing is ONE OF MANY chioces. It's the right choice for you and for many others, but for the makers of any non-java piece of software utilizing a GUI, Java+Swing is not the right choice.
> > Check out some benchmark results. > benchmark results > > I ported these micro-benchmarks from C > to Java. These show unoptimized C > speeds for Java, and there was a > Thanks - I took a close look and two things jump out. One is that it seems you and the benchmark post are drawing some conclusions comparing de-optimized C code to other runtime systems. This is not valid because the added debug symbols and forced-order execution of the debug binaries, etc., etc. are both something that a compiler writer would never (consciously) create for a production executable. What I'm trying to say is that debug builds for any compiler / runtime are not valid for any benchmarking, because that is not what is distributed to an end-user but is for the consumption of the development tools and developer only - that's a well established standard for fair benchmarking. I don't know why the C debug-build times are even included in that post, unless the reason was to try and show that Java and Smalltalk can perform "OK" compared to a binary compiled for a debugger. Debug builds are intentionally "de-optimized" so the program flow can be better followed by a debugger, etc. The 2nd thing that jumps out is that a normal (built for production) C/C++ binary is on average 2.3 times faster than the Java code. If you extrapolate that out to real-world software, that means for example an end-of-day process that runs for 8 hrs. with C/C++ would take 18.4 hrs. with Java, which would leave only 5.6 hrs. for a workday (I'd love a job with that company.-). Also, even considering processes like the short-lived micro-benchmarks in your link, a 2x difference in execution time on a busy machine can cause an exponential drop in scalability of the server as processes stack up in the FIFO column. And that is not even considering the extra resources that runtimes like Hotspot use on the server. The code analysis, JIT, optimization and generational GC that Java runtimes like Hotspot and the .NET runtime do is really pretty expensive in a high-use environment and that is always overlooked. Hotspot is a resource hog in a heavy-use environment. What does this have to do with client-side GUI toolkits? Nothing except to say that I think Java has been over-extended to be the end-all to application development so it is neither really scalable on the server nor really fast on the client. > > This isn't the appropriate forum for a > lengthy technical discussion, but > Hotspot is insane. It will re-write the > code for method while it is executing. > It'll dynamically 'inline' more methods > at a time than C++ would ever dream of > since it can throw the optimizations > away when they are no longer used by the > program. And so on. Often a method > invocation will take fewer mechine > instructions in Java than C++ due to > better knowledge of actual types at the > call site. Again, this sounds like it's from the Sun site.-) Under almost all circumstances, the static C/C++ compiler will have as much info. to feed "inline" heuristics as the Java code at runtime, plus it will have a lot more time to (reasonably) use this info. The major areas that a dynamic execution system may have an advantage are things like it will better know how much memory has been allocated for an object or collection of objects, and also the normal conditional path flow of the program. So what end's up happening is that more things in the C/C++ code is optimized than needs to be under normal program flow, but the upside is it is well optimized for all program flows. > > % code on any benchmarks 'proving' this > if > % you have it. > >. > % Check out. Linux Number Crunching. > > > What a crappy benchmark. The code > quality is extremely poor, with unused > variables all over the place and other > variables used for multiple purposes. > Most of the time in Java is spent in > Math doing trig functions and much of > the rest is in array access checks, so Extremely poor?? I only found two unused vars. (32 bit integers), and so did the compiler. Like it or not, most time spent in many programs is calling library functions and accessing arrays, so this is a pretty valid benchmark as far as they go. > > Java has had excellent results doing > real math, like linear algebra and FFT. > Plus any benchmark showing C++ and > FORTRAN as equivalent obviously is too > simplistic to be an accurate indication > of performance. Well, I don't agree there. There are many areas in which C/C++ can hold it's own with Fortran, and that includes some often used mathematical stuff, even stuff that includes large matrices and math library calls. For example, depending on the circumstances, it's possible to layout large arrays and manipulate them with the C/C++ memory functions better than you can with the array handling built-in to Fortran (or Java for that matter). Besides, based on the results I've seen, the Intel Fortran system is very good and so is their C/C++ system. > % Also check out. The Petstore > Revisited > % and download the report. > > Trying to conclude anything useful from > Petstore is a waste of time. No it isn't, for 3 reasons. The people who chose Petstore were Java biased in the first place (Java is where that company makes it's money) and initiated the 2nd comparison. The second reason is that the .NET and Java apps. were functionally equivalent. The third is that the .NET system ran quite a bit faster and was a lot more scalable on the same hardware than both Java systems with a lot fewer lines of code and much less time spent optimizing the code for either Java runtime. It is very significant that the lower cost and easier to maintain system can come out on top performance-wise for a functionally equivalent application where the sponser's hypothesis was disproved (according to their paper, the sponser set out to prove that Java would be the performance leader if optimized properly). The reason I'm responding to all this is because you stated that C/C++ GUI toolkits are no longer relevant given Java performance and that is wrong given the the scads of "real-world" evidence as well as benchmarks. I'd be a fool to ignore the usefulness of Java and I think it would be equally foolish to say there isn't a place at the table for cross-platform C/C++ GUI toolkits because of Java performance. -- Dave
> > % > % Check out some benchmark results. > % benchmark results > > Thanks - I took a close look and two > things jump out. One is that it seems > you and the benchmark post are drawing > some conclusions comparing de-optimized > C code to other runtime systems. Comparing to debug build shows that Java is well within the same ballpark as C. > What I'm trying > to say is that debug builds for any > compiler / runtime are not valid for any > benchmarking, because that is not what > is distributed to an end-user but is for > the consumption of the development tools > and developer only - that's a well > established standard for fair > benchmarking. In Java you don't have separate "debug builds" or build for specific processors. Java generates processor instructions relavent to your processor at runtime so you don't need X different "builds" for different processor versions -- that's for stone age languages. > The 2nd thing that jumps out is that a > normal (built for production) C/C++ > binary is on average 2.3 times faster > than the Java code. Those numbers compare Microsoft's VC++ to Java, and Java is doing array bounds checking. And the IBM JVM seems to be ~1.8x faster than Sun's for this type of computation, making it very close in speed to a C++ compiler were LOTS of resources have been put into maximum performance. > What does this > have to do with client-side GUI > toolkits? Nothing except to say that I > think Java has been over-extended to be > the end-all to application development > so it is neither really scalable on the > server nor really fast on the client. If 1.2x or even 2x slower is not an acceptable performance loss for getting an easy to use, safe language with huge, quality class library for programs that spend most of their time idle waiting for user input then what's the point in logic and reasoning? You have to use it. > % [Why hotspot is awesome.] > > Again, this sounds like it's from the > Sun site.-) So download the hotspot VM source code and look at it. It's true, whether you want to believe it or not. > Under almost all > circumstances, the static C/C++ compiler > will have as much info. to feed "inline" > heuristics as the Java code at runtime > plus it will have a lot more time to > (reasonably) use this info. [.] You should read up more on hotspot and runtime optimizations.
% Comparing to debug build shows that Java > is well within the same ballpark as C. No, it doesn't - it's apples to oranges. It's akin to comparing bytecode to JIT for Java, because the debug build is basically built to be interpreted by the debugging system. Sun's jdb debugs the *bytecode*, not the native code put out by the runtime - there's a more direct comparison. > In Java you don't have separate "debug > builds" or build for specific > processors. Java generates processor Yes, and that is one of the downfalls of trying to debug Java apps. That's why Java's turned from "Write once run anywhere" to "Write once, debug everywhere and then tweak for OS X. Oh and while you're at it, try a different runtime and fiddle with the runtime switches too." > Those numbers compare Microsoft's VC++ > to Java, and Java is doing array bounds > checking. And the IBM JVM seems to be > ~1.8x faster than Sun's for this type of > computation, making it very close in > speed to a C++ compiler were LOTS of > resources have been put into maximum > performance. IBM is throwing everything they've got at their Java runtimes and also for the sake of clarity, those numbers compare VC++ 6, not 7 or 7.1, the Intel compiler or GCC 3.3. Can't say for sure about GCC 3.3, but I know the latest iterations of the MS and Intel compilers produce faster code than their predecessors, in most benchmarks at least. Your test was done with JRE 1.3 which post-dates Microsoft VC 7. And the Sun JRE 1.3 is actually faster than Sun JRE 1.4 for most of the benchmarks I've seen and done myself - same with IBM 1.3 vs. 1.4 on Linux. I'm sure the new StrictMath requirements for Java have something to do with the slowdown, but also I think (and have picked up elsewhere) it's because the earlier Java optimizers were optimizing away valid code in some cases. > > If 1.2x or even 2x slower is not an > acceptable performance loss for getting > an easy to use, safe language with huge, > quality class library for programs that > spend most of their time idle waiting > for user input then what's the point in > logic and reasoning? You have to use > it. Like I said in my previous post, I'd be foolish to ignore all that and I'm not, but I would have to qualify "easy-to-use" and "quality" a bit. Most of the C++ GUI toolkits in this article are as straight-forward to use as Swing and are certainly as high in quality. Which brings me back to the original reason I posted - It would be equally foolish to stop using and improving C++ or C++ tools just because Java is out there. > You should read up more on hotspot and > runtime optimizations. If Hotspot is so technologically superior, why is IBM taking it to the cleaners on a lot of numerical stuff?.-) I have read-up on Hotspot to try and figure out if the marketing hype was blowing smoke and sure enough they were IMHO. Once again, the static C/C++ compilers will have almost of the same info. available at compile time as Hotspot will at runtime wrt inline opimizations, except for some program flow and mem. info. Plus, the C/C++ binary will not be continuously using system resources at runtime to accomplish it's optimizations. > -- Dave
> > I just don't understand why Linux / Open > Source programmers would rather spend > lots of extra time and effort hacking > out a GUI in C or C++. I used to > program directly to Xlib, and I feel the > same way as the toolkit users who would > feel sorry for somebody using straight > Xlib. > > With Java you get a simple and powerful > API for creating UIs. You get more > advanced graphics features than pretty > much everything out there (anti-aliased > everything, real transforms, geometry, > alpha/composites, extremely optimized > pipeline, pluggable look and feels, > event-based callbacks, automatic pacing > and coalescing of repaints, > internationalization, etc). > > And then you get other Java benefits > like working on every operation system, > reflection, garbage collection, > weak/soft references, huge library of > useful stuff like zip, regex, crypto, > XML, etc. > > Finally, Java itself is not slow and > does not use a lot of memory. It used > to be at least 40x slower but now it's > the speed of unoptimized C or better. > Programs can even call overridden > methods dynamically at runtime (ie, > lookup method by string variable) at > only 1/5th the speed of a static > compiled call in C++. That's freakin > unbelievable. And most 'hotspots' are > actually optimized better than in C++. > > Compared to other toolkits, Swing (the > UI part of Java) starts up slowly and > uses a lot of memory (it was designed by > former Smalltalk people.). But once > it's up and running it's fast and > doesn't use much extra memory. So it > isn't suitable for simple applications > for that reason, but for medium or large > ones it's an excellent choice > technically speaking. > > Most of the difficulty is due to the > operating system fighting Java. if > you've ever used Java on Mac OS X for > instance you'll know how beautifully it > integrates with the OS. A Mac user can > just double-click on an executable JAR > file (ZIP format) and they can just > double-click and it runs like any other > app, looks like any other app, and > shares memory with other Java apps so it > doesn't take many resources. On > Windows, they have to install Java first > and each Java app takes substantial > resources. On Linux Java it's an even > worse situation. > >
Although I can believe that Qt's integrated internationalisation is better, it makes much more sense to stick to the UNIX philosophy of having one program do one job only and do it well. If the capaibilities of gettext are lacking, it would be much better to improve it than to write a whole new system, integrated into GTK+ or Qt where it is of no use to other programs which don't use the toolkit. Integrating things to the point of excluding their independant use is a mistake in my opinion.
I am tending towards wxWindows because it is free, it uses native widgets, it is well designed, and it has a good community. I'm just sorry it doesn't use modern C++ including the STL. With its support of so many platforms and languages it is truly the 'universal' toolkit. Actually, I think they should rename it to that! As for Qt, why are people attacking Trolltech/Qt? Sure they are trying to make money, that's what companies do. If you think they are bad then you should take a look around you. Consider for a moment Microsoft, IBM, Sun, SCO, etc. Or my local computer companies, Corel and ATI - both are nasty companies with aggresive, dishonest, and corrupt leaders (Copland and Ho are guilty of flagrant insider trading). Give me Trolltech anyday! I would never use their toolkit because I want something that is free to use on all major platforms. And I'm very sorry that they caused such a harmful split in the Linux community - they made a big mistake. But I still think they are about as good a corporate 'citizen' as there is. Tom.
Just to mention it. Eclipse-SWT is a very nice Java toolkit, which reuses Widgets of Motif, GTK2, WIN32, OS-X, Pocket-PC in a native way. It's X-platform and very fast. By using a free java platform like GCJ you can write Java-programs totally based on Free/Open-Source Software. Concerning QT, i think the author is right pointing out the GPL-problem. I think the GPL is a bad idea for a GUI-Library. It not only prohibits the linking of commercial software, but also the linking of all the free/open-source software applications/libraries which use different licenses (like LGPL). It might be illegal to write QT-language-bindings for Perl, PHP, Java,. (depends how you do it) and it is definitely illegal to port something like SWT or OpenOffice to QT (They are not GPLed). IMHO the GPL is a good idea for applications or tools, but not for basic things like GUI-Toolkits.
> just to mention it. Eclipse-SWT is a > very nice Java toolkit, which reuses > Widgets of Motif, GTK2, WIN32, OS-X, > Pocket-PC in a native way. > It's X-platform and very fast. By using > a free java platform like GCJ you can > write Java-programs totally based on > Free/Open-Source Software. >
> just to mention it. Eclipse-SWT is a > very nice Java toolkit, which reuses > Widgets of Motif, GTK2, WIN32, OS-X, > Pocket-PC in a native way.
Pretty good summary overall, although I feel compelled to point out a few things I've noticed about the toolkits and have heard from others. - Qt is by most accounts the best designed, fullest featured, and fastest to work with C++ GUI toolkit out there. The licensing is a problem if you're porting Free Software to Windows, but for commercial development the licensing fee is usually justified by the savings in development time. It is also the toolkit that comes on the Sharp Zaurus PDAs, which makes it the only practical choice for that environment. It doesn't use true native widgets on Windows and maybe MacOS X (although it looks pretty damn close), which is a problem for some people but also gives it some advantages (see below about Unicode support). - wxWindows is probably the next best choice for many projects. if your feature and schedule requirements don't demand Qt (or your portability requirements exclude it), give this a try instead. Personally I'd like to see wxWindows surpass Qt in quality, but I don't think it's quite there yet. I would definitely like to see more people using and working on this, though. It uses native widgets on all platforms, which is a plus for some people but also complicates Unicode support (see below). - gtkmm has probably improved greatly since the release of GTK+ 2, but the last time I looked at it (a while ago) there weren't enough people maintaining it and the API seemed fairly ugly. I'm hoping much of this has been fixed, but portability to other platforms is still pretty much non-existent. Haven't used the others so I can't really contribute anything regarding those. One thing that I don't think was really emphasized enough was internationalization support. if you need to use your program for anything but western European languages on multiple platforms, your options get kind of narrow. - Qt just works for Unicode text manipulation and display on all platforms it runs on, which in my opinion is one of its strongest assets. - wxWindows usually has Unicode support. before GTK+ 2, the situation here was much worse. Unicode is barely supported under Windows 9x, though, which is a serious problem for much software. The basic problem here is that it uses native widgets, and the older Windows versions didn't support Unicode text display in the native widget set. you have to install a Unicode support library which is apparently buggy and incomplete compared to the NT/2000/XP Unicode support (and will never get fixed, since Microsoft is dropping support for those versions). Qt got around this problem by rendering all of its own widgets. gtkmm now supports Unicode, but it really only runs on Linux/UNIX. Can't say much about the others, although it sounds like most of them fare at best as well as wxWindows on this. Hope this is of use to somebody, Jeremy
% - Qt is by most accounts the best designed, fullest featured, and fastest to work with C++ GUI toolkit > out there. > The licensing is a problem if you're porting > Free Software to Windows It is possible to port Free Software to windows using Qt without buying a full commercial license. You must use the cygwin version ( There is also a project to allow a KDE application to run without Qt, on windows. The author mention that you must pay for a licencse to port your program. He overlooks the fact that Qt is already available for 3 platforms under the GPL. - unix/X11 - MacOsX (X11 and native) - embedded platforms like the Zaurus Note that the embedded version of Qt can be used to run on the linux framebuffer ( On windows, for close source development, you can also get a license of PyQt which is 5x cheaper ( > It doesn't use true native widgets on Windows and maybe > MacOS X (although it looks pretty damn close), which is a Qt uses native widgets on Windows XP. Latest Qt uses native widgets on MacOs/X. For other platforms, the look is emulated. If I look at the so-called weaknesses of Qt, I find the article biased against it. 1. Very business-oriented main Web site Sorry, but I don't see how it relates to the quality of the toolkit. I find the Gtk's site ugly as hell but I would not mention that as a _weakness_ of Gtk. It does not relate to the toolkit. 2. Main branch depending on one company So what ? Qt is GPL, you can fork it any time you want. Given that Qt is the income source of Trolltech, I don't see how they would not develop it. Is it a problem that MySQL develops MySQL ? Really, I don't see the point of this remark. 3. Commercial developers and people wanting portability have to pay. See my previous remark on the various alternative options. 4. Huge sources and binaries, library itself takes ages to compile He, that one is true. Qt4 will be separated in multiple components, but I don't think it will be out before a few years. Qt3 is still very good. 5. Objects not referred by namespace but simple literal prefix "Q" So ? Apart from a matter of taste, I don't see any problem here. Gtk object begin with G (or is it gkt_ ?) and what is the point ? Q is shorter to type than 'using namespace Qt.' . I personally never had any naming conflict with Qt. I would put that together with the uic. it is only a problem for C++ purists.
> It doesn't use true native widgets on > Windows and maybe > MacOS X (although it looks pretty damn > close), which is a > > Qt uses native widgets on Windows XP. > Latest Qt uses native > widgets on MacOs/X. For other platforms, > the look is > emulated. > > If I look at the so-called weaknesses of > Qt, I find the article > biased against it. > > 1. Very business-oriented main Web site > > > Sorry, but I don't see how it relates to > the quality of the > toolkit. I find the Gtk's site ugly as > hell but I would not > mention that as a _weakness_ of Gtk. It > does not relate to > the toolkit.
Maybe, but then again I AM quite a C++ purist.P Anyway, that's not a Qt bias - all toolkits except FLTK have this problem. Leslie
% % 2. Main branch depending on one company > You can't compare MySQL with Qt. Qt is a > huge package, and if Trolltech decides > to change the license again, say to some > closed source, it will take a lot of > time until a strong fork is made, people > gathered and development done. I do not agree. If Trolltech changes the license, we will just keep the existing Qt and start maintaining it (most probably in KDE). KDE developers have already a set of patches that do not make it into Qt and that they would be glad to see included. If trolltech ever decides to discontinue the Free Software version, the fork is already ready to start. Besides, in such an eventuality, the free Qt foundation garantuees that if Trolltech does not release any free version of Qt during one (or is it two ?) years, Qt becomes available under a kind of BSD license. Having talked to the CEO and a few head developers at Trolltech, I can however guarantee that it won't happen. They firmly believe in free software and Qt is "as free as they can afford it to still make money with it". > That's ok, but WRT the other toolkits > that's a lot of hassle. Yes, but is their level of support of the other OSes and the internal quality of the toolkit as good as Qt ? I must recognosid that I haven't used other toolkits much, but each time I try, I am frustrated by how complicated it is to set-up things and perform slightly complicated tasks. > % Q is shorter to type than 'using > % namespace Qt.' . > > Now come on, maintainability and good code design > is better than some savings in typing! I do not think the use of Q impers maintainability and code design. It would be the case if the QString was named string. In this case, you are sure to run into a conflict sometimes. But I have never seen any other toolkit using conflicting names with Qt.
First we should limit the number of toolkits to these, which are default avaible at every normal desktop linux distrybution. Afaik there only 2, gtk+ ( NO GTKMM) and QT. Ok then to qt nice, but the license sucks. GTK+ LGPL, ok, but looks ugly and GUI programming in Assembler is over. Portability ? Nope, the win32 Port was a one man show. OOP with C, RUNTIME typechecking lol ?. Modules are nice but, in 99% of the cases, the modules aren`t installed on the default linux distribution. And gtk is only a raw toolkit, not a Appframework. And then u call this RAD ? A gui designer doesnt count for me as the only thing u need for RAD.
% Ok then to qt > > nice, but the license sucks. I find this a too quickly rebuttal. Why does the GPL sucks exactly ? Oh, or you mean you can not write proprietary application with it. The author of the article seem to have the same opinion, that you should be able to write proprietary (== close source) application at no cost with a toolkit, else it is not a good Free Software toolkit. I fail to see the connection though. I thought freshmeat was a site on Free Software development, I was not aware that it had turned into a close source promotion site.
> > Oh, or you mean you can not write > proprietary application > with it. The author of the article seem > to have the same > opinion, that you should be able to > write proprietary (== > close source) application at no cost > with a toolkit, else it is not > a good Free Software toolkit. > > I fail to see the connection though. I > thought freshmeat was a > site on Free Software development, I was > not aware that it > had turned into a close source promotion > site. > >
The point is that sometimes you need it. For many projects wxWindows or one of the other toolkits will be a better choice, but Qt does still have some features that they lack. As I mentioned earlier, if you want a cross-platform application that can display Unicode text on Windows 9x/ME, Qt is just about your only choice. (Java would probably work also, but I think you'd have to include the JVM with your app for legal and configuration reasons. that's substantially bigger than statically compiling Qt in, and the program would be much slower and use much more memory.) So if you're writing an application that for business reasons needs to support multiple languages on old versions of Windows (data entry in multiple countries, language tutorial to accompany a textbook, etc.) it's often well worth paying the Qt license fee to avoid spending weeks hacking one of the other toolkits to kind of work the way you want. Then again, if you only need western European languages, or don't need to support old Windows versions, or are just more picky about the kind of license you're willing to accept, wxWindows or one of the other options may well be a better choice.
% All your > talking that everything is much easily > done in Qt than let say in wxWindows (or > in FLTK for that matter) is just a > matter of experience with that or > another library. I bet you are using Qt > for ages - hence you get used to its way > of doing things so the other libraries > are not as comfortable to you as Qt is. > But then - you are being subjective to > the other libraries. People using > wxWindows for ages will object and say > that it's the easiest thing to use (once > you are familiar with it). Yes, I have been using Qt for ages. But after two days of using it, I was proficient with it, that's for me the most important. I did not need few month to get used to how things are done, it felt just natural. The toolkit really well designed and complete, with copious documentation. I know other people who had exactly this same experience. I even have a mail of somebody who put complete beginners both in programming and C++ in front of Qt, and had them being proficient after one month. That's something. > Plus there's always Java.-))). Java has its own set of issues, but it is certainly an interesting choice too, if you are ready to program in java. I think the most problematic things today is about the jvm and the version of java you are using may not be the same as your target, so you have to spend time adjusting things (I heard some java developers saying that they were "porting" their app to another jvm) but I may not be uptodate with such problems. > Well that's a surprise - can you give me > an example of "most other development > software on windows" that asks you about > additional fee for runtime > redistribution? A windows friend told me that but I did not check thorougly. I know he was surprised by the absence of runtime fee. > This is nonsense - Kylix implementation of VCL (Borland's libraries of > controls/widgets) is implemented on top of Qt (don't know which version > though). Based on Qt does not mean you get all the power of Qt. Does Kylix run on MacOsX and Zaurus ? For example, I was told that in VCL, you can not connect multiple signals to a slot (you have to translate to the equivalent of signal and slots), which I find fairly limiting.
> > Yes, I have been using Qt for ages. But > after two days of > using it, I was proficient with it, > that's for me the most > important. I did not need few month to > get used to how > things are done, it felt just natural. > The toolkit really well > designed and complete, with copious > documentation. > I know other people who had exactly this > same experience. I > even have a mail of somebody who put > complete beginners > both in programming and C++ in front of > Qt, and had them > being proficient after one month. That's > something. This is a typical example of Visual Basic syndrome.-) Usually, couple day is enough to get proficient with it. But it does not mean that you will be ready to create a good performing GUI application in those two days. To create professionally looking UI without any performance problems - any toolkit will take you several months to adapt to its features. By performance problems I mean loading big chunks of data (typical for enterprise wide applications) into controls/widgets without slowing down UI or easting up all memory. What I mesan by all this is that there is always a difference between just using the toolkit and using it effectively. > > % Plus there's always Java.-))). > > Java has its own set of issues I've read this article before - again it's author not using Swing/JFC (judging from it's examples) effectively. For example it's tree creation example in Java could be rewritten in much shorter and understandable way. Also JFC/Swing is designed with "handling (large) data effectively" in mind - therefore it has UI and data separation (i. e. each widget accessing data not directly but through data model interface defined for that class of widgets). For instance table/grid widget access the date it's displaying via class implementing table model interface that provides grid-like data access. The underlined data can be cached, paged (if large) or loaded completely without widget ever knowing the difference or setting any flags. The same data could be shared between several models being a source for displaying in several controls (although people are always forgetting this - hence data inefficiency and memory hungry applications). When I was starting to work with Java seven years ago - I also had my doubts (about suitability for UI). But all changed after similar discussion with one guy from Borland's JBuilder (which is an excellent example of how to code UI effectively) development team. He simply showed me how fast Java UI could be when used effectively and with consideration. I still don't think that java is not good enough for designing small and fast applications (embedded apps go to this category). > > but it is certainly an interesting > choice too, if you are ready to > program in java. I think the most > problematic things today is > about the jvm and the version of java > you are using may not > be the same as your target, so you have > to spend time > adjusting things (I heard some java > developers saying that > they were "porting" their app to another > jvm) but I may not > be uptodate with such problems. Certain incompatibility exists - between major release versions (in Java they are always the second number like from 1.1 to 1.2 etc) but then I doubt that the Qt 2.0 and 3.0 are completely compatible. Plus statement about jdk version is not true - latest java versions available on all the same platforms as Qt (with exception of embedded devices). > > Based on Qt does not mean you get all > the power of Qt. Does > Kylix run on MacOsX and Zaurus ? Only MacOS X is yet unsupported - all linux variants mostly are simply because Borland supplies sources of VCL with commercial versions of its products. But if the ultimate cross-platform compatibility is the goal then my choice may be different (wxWindows?). > > For example, I was told that in VCL, you > can not connect > multiple signals to a slot (you have to > translate to the > equivalent of signal and slots), which I > find fairly limiting. VCL operates in different terminology using events and event handlers. But nothing prevents you from having single event handler for several events simultaneously (is that's what you mean). Finally, it's strange for me to have this discussion withyou having deep knowledge of Qt and having tried other toolkits only briefly or just having heard of them from other "experienced" people. I prefer to establish my own opinion on usability of that or another library/toolkit by trying to use it and not just briefly. Hence I found this article really useful as, for instance, I have never heard of FLTK before and I'm willing to give it a try. This is my last post to this matter. PS. to all Qt maximalists - there was a nice article about it by Al Stevens (C++ column writer) in Dr. Dobbs somewhere in us. He actually pinpointed Qt weaknesses (some of them mentioned but argued here). So you might want to take a look at that.
Java adds new features and widgets in new versions, it also fixes bugs that could trigger bugs in the authors code. It does about the best job in the industry to keep forward compatible, though. Writing something for java 1.2 works on 1.4. This is something that just about every other toolkit forgot about. You still see Qt1 applications out there, which are really hard to get compiling against a Qt3 library, many many changes are neeeded. In short. it is no worse then Qt or other libraries out there, and probably better. The reason your friend was porting was probably that he used a newer version and the management did not want to upgrade the JVM, which has its own set of problems.) --
> > % % Plus there's always Java.-))). > % > % Java has its own set of issues, > % but it is certainly an interesting > % choice too, if you are ready to > % program in java. I think the most > % problematic things today is > % about the jvm and the version of java > > % you are using may not > % be the same as your target, so you > have > % to spend time > % adjusting things (I heard some java > % developers saying that > % they were "porting" their app to > another > % jvm) but I may not > % be uptodate with such problems. > > > Java adds new features and widgets in > new versions, it > also fixes bugs that could trigger bugs > in the authors code. > It does about the best job in the > industry to keep forward > compatible, though. Writing something > for java 1.2 works > on 1.4. This is something that just > about every other > toolkit forgot about. You still see Qt1 > applications out > there, which are really hard to get > compiling against a Qt3 > library, many many changes are neeeded. > > > In short. it is no worse then Qt or > other libraries out there, > and probably better. > > The reason your friend was porting was > probably that he > used a newer version and the management > did not want to > upgrade the JVM, which has its own set > of problems.) >
> GTK+ > LGPL, ok, but looks ugly Looks ugly? You must be thinking of GTK1. GTK2 looks beautiful, check some screenshots on There are themes easily nicer than Keramic (depending on how much you like Keramic of course). > And gtk is only a raw toolkit, not a > Appframework. Yes, the author might have wanted to mention GNOME. On the other hand, GNOME certainly isn't cross-platform. > And then u call this RAD ? > A gui designer doesnt count for me as > the only thing u need for RAD. Check out Anjuta at
As far as I know both toolkits are LGPL not GPL, and this is a crucial difference for users and enterprises willing to adopt and evolve to free software development from propietary business models.
> As far as I know both toolkits are LGPL > not GPL, and this is a crucial > difference for users and enterprises > willing to adopt and evolve to free > software development from propietary > business models. >
Trolltech made 3 fundamental errors with QT. (1) Orginally releasing QT under a non-free license Numerous license issues with KDE GPL software being incompatible with the orginal QT license. Many of the OSS community disapproved of Trolltechs license, which eventually spawned the Gnome project. Some people (like myself) still see Trolltech as just another money making business, rather than being truely part of the OSS community. (2) Releasing it under a Dual license QPL, GPL. Why not license a "library" under the LGPL? or BSD? Obviously it was there strategy on the Windows platform side of things, keep it closed and make more money off it. (3) Ignoring OSS on any platform other than *nix. They want huge profits, unlike other toolkits.. most are completely free (Motif?) Regardless of platform. OSS developers should embrace more open toolkits that actually promote harmony among other platforms and work/develop with community input, rather than companies trying to profit off it. Trolltech are more interested in profits than benefiting the general OSS community, by not supporting a multi-platform toolkit they're disadvantaging themselves, and discouraging a broad user-base over different operating systems. OSS happens not just on Linux, but a number of operating systems, OSX, *BSD, Windows, OS/2, BeOS etc. Someone should remind Trolltech. OSS *is* Operating System Independant ps. I'd be very surprised if dot. kde. org would publish this FM story, so one-sided some KDE related websites, anything anti-KDE/QT would be ignored, removed and banned.
>. most are completely free > (Motif?) Regardless of platform. OSS > developers should embrace more open > toolkits that actually promote harmony > among other platforms and work/develop > with community input, rather than > companies trying to profit off it.
Motif is completely free? Read the third item down. Motif has been a disaster of a toolkit for most of its life. Its success has only been because of the lack of anything like it for about a decade. I lament that so much needless work needed to be sunk into lesstif. The sooner Motif dies, the better. A poorer example of an open source project would be hard to find.
> Trolltech made 3 fundamental errors with > QT. > > (1) Orginally releasing QT under a > non-free license > Numerous license issues with KDE GPL > software being incompatible with the > orginal QT license. Many of the OSS > community disapproved of Trolltechs > license, which eventually spawned the > Gnome project. Some people (like myself) > still see Trolltech as just another > money making business, rather than being > truely part of the OSS community. > > (2) Releasing it under a Dual license > QPL, GPL. > Why not license a "library" under the > LGPL? or BSD? Obviously it was there > strategy on the Windows platform side of > things, keep it closed and make more > money off it. > > (3) Ignoring OSS on any platform other > than *nix. > They want huge profits, unlike other > toolkits.. most are completely free > (Motif?) Regardless of platform. OSS > developers should embrace more open > toolkits that actually promote harmony > among other platforms and work/develop > with community input, rather than > companies trying to profit off it. > > Trolltech are more interested in profits > than benefiting the general OSS > community, by not supporting a > multi-platform toolkit they're > disadvantaging themselves, and > discouraging a broad user-base over > different operating systems. OSS happens > not just on Linux, but a number of > operating systems, OSX, *BSD, Windows, > OS/2, BeOS etc. > > Someone should remind Trolltech. > OSS *is* Operating System Independant > > > ps. I'd be very surprised if dot. kde. org > would publish this FM story, so > one-sided some KDE related websites, > anything anti-KDE/QT would be > ignored, removed and banned. >
> multi-platform toolkit they're > disadvantaging themselves, and > discouraging a broad user-base over > different operating systems. OSS happens > not just on Linux, but a number of > operating systems, OSX, *BSD, Windows, > OS/2, BeOS etc.
Ehm, that the problem isn't if you can use the toolkit on a platform, the problem is that you cannot use it a FREE SOFTWARE on every platform. OSS is platform independant. Get it, now? Did you consider reading the post before you replied? Dennis
The author wrote. Tcl/Tk isn't much better [than xlib] That's complete nonsense. Tcl/Tk is just about the simplest-to-use toolkit there is, and it's cross-platform. True, on UNIX, Tk looks kind of old-fashioned and Motif-like, but I guarantee I can prototype a GUI in Tcl/Tk in about a tenth the time it would take with any of the other toolkits.
>. I guarantee I can prototype a GUI in > Tcl/Tk in about a tenth the time it > would take with any of the other > toolkits. >
Maybe they are as fast, but Tcl/Tk is much more than just a GUI toolkit. It's a high-level scripting language offering many other things beside GUI programming (yes, Qt also offers much more, but I find it's not as beautiful and fun to work with as Tcl/Tk).
> True, on UNIX, Tk looks kind of > old-fashioned and Motif-like, but I > guarantee I can prototype a GUI in > Tcl/Tk in about a tenth the time it > would take with any of the other > toolkits.
> Tcl/Tk is just about the simplest-to-use toolkit > there is, and it's cross-platform. True, on > UNIX, Tk looks kind of old-fashioned and > Motif-like, but I guarantee I can prototype a > GUI in Tcl/Tk in about a tenth the time it would > take with any of the other toolkits. >
I'll agree with you that Tk is hard to beat for speedily and easily prototyping GUIs, but I don't like Tcl very much at all. The syntactic and semantic conventions are inconsistent and crufty, and the language as a whole seems to have been designed in an ad hoc fashion. For instance, Tcl's support for object oriented programming has a long history of being either unavailable or fragmented. I think Python is a far better choice for GUI prototyping. Not only can you use Tk within Python, but you also have about half a dozen other toolkits to choose from. A great toolkit (like Tk) deserves a great language (like Python). I dare anyone to point out a single advantage that Tcl has over Python. -- .signature. No such file or directory
> The author wrote. Tcl/Tk isn't much > better [than xlib] > That's complete nonsense. Tcl/Tk is > just about the simplest-to-use toolkit > there is, and it's cross-platform. > True, on UNIX, Tk looks kind of > old-fashioned and Motif-like, but I > guarantee I can prototype a GUI in > Tcl/Tk in about a tenth the time it > would take with any of the other > toolkits. >
It is true that the QT library is very huge, but it offers a whole programming universe. QT is now freely availabe for Mac OS X to if the app is releases under the terms of the GPL. In addition QT is available for embedded linux too. It exists an older version for non-commercial, open source apps under win32 (no QT source). Another advantage is that QT is developed very fast, for example QT has unicode support since 1999, other toolkits like GTK+ required more time (AFAIK since 2002 has GTK+ unicode support too). The meta object compiler provides a C++ extension called signal and slot mechanism, which is typesafe. You can write each software component (classs) for its own and connect them without knowing each other. Last but not least QT is developed by a business oriented company, but this doesn't matter because Trolltech needs money in order to develop such a great toolkit.
I would have to agree 100%. Gtk+ really is a C lovers GUI Toolkit, and a very easy API to learn. If you are a C programmer, then applying the Gtk+ API to your application is nearly trivial. I do wish however, that there were an easier abstration layer to Xlib in Gtk+, for instance, to change resolution and other core Xlib features.
Win32 does just about nothing to be compatible with other OS's. It's not meant to acknowledge the existance of any other OS's besides microsoft's. As a programmer you always want to stay away from external library dependencies as much as possible, but you shouldn't go completely out of your way, and possibly scope of your program, to maintain compatibility with an OS that's such a pita to develop on. You program what you use, let other people worry about porting it to what they use if it's not something you do. that said, gtk+ is a great beginners api to learn gui programming on, in C and C++ programs. My only issue with toolkits like gtk+ and qt is that they're nice and snappy when they're plain, but add pixmaps to the picture and all of a sudden they're crawling compared to before. Even with all the xaa optimizations to pixmaps and window handling. I'm not sure which is at fault, x11 or the toolkit, or neither
> > % That's not a very good programming > % practise. Remember that Windows is > the > % most used OS out there. > % > % % For me, As a GNU/Linux user, I > don't > % % care about win32 or the portability > % % issues > % % with win32. > % > % > % > > > > > Win32 does just about nothing to be > compatible with other OS's. It's not > meant to acknowledge the existance of > any other OS's besides microsoft's. As > a programmer you always want to stay > away from external library dependencies > as much as possible, but you shouldn't > go completely out of your way, and > possibly scope of your program, to > maintain compatibility with an OS that's > such a pita to develop on. You program > what you use, let other people worry > about porting it to what they use if > it's not something you do. > > that said, gtk+ is a great beginners api > to learn gui programming on, in C and > C++ programs. My only issue with > toolkits like gtk+ and qt is that > they're nice and snappy when they're > plain, but add pixmaps to the picture > and all of a sudden they're crawling > compared to before. Even with all the > xaa optimizations to pixmaps and window > handling. I'm not sure which is at > fault, x11 or the toolkit, or neither
Based on over five years of theoretical and case study research, RAPID has developed a simple analytical framework and a range of practical tools that can help researchers to make better use of research-based evidence in development policy and practice. But to use them effectively researchers need to do three things. First, they need to develop a detailed understanding of the policymaking process. the nature of the evidence they have, or hope to get and all the other stakeholders involved in the policy area. Second, they need to develop an overall strategy for their work and third, they need to be entrepreneurial. RAPID produces a wide range of online and printed information, publications and toolkits as a resource to help researchers, policymakers and practitioners maximise the impact of research-based evidence on policy. Tools, resources and training support are being identified, developed, distributed and delivered to help researchers inform and influence the policy process. Five toolkits have so far been produced, in printed form and online.
This toolkit introduces a series of tools that have been designed to map various dimensions of political context. The tools have been selected because they cover a wide variety of political dimensions. As such, they provide a menu of different approaches to mapping political context. CSOs and others can select from this menu and make use of the tools according to their own needs.
This toolkit covers a wide range of tools and methods that have been used to facilitate improved knowledge and learning in the development and humanitarian sectors. They are divided into five categories. Strategy Development. Management Techniques. Collaboration Mechanisms. Knowledge Sharing and Learning Processes. and Knowledge Capture and Storage.
The aim of this toolkit is to identify lessons and approaches from EBP in the UK which may be valuable for developing countries. The approaches and tools presented are based on the assumption that the reader is a progressive policymaker in a developing country, and one who is interested in utilising EBP. The intended audience is made up of policymakers and policy advisers in the public sector, rather than those working within the private sector or civil society.
What is needed is far better communication of evidence within the international development field, thus this toolkit is designed to help development actors communicate better. This toolkit presents work in progress on communication tools, specifically geared towards the needs of researchers in civil society organisations. The 23 tools are grouped under the headings of Planning, Packaging, Targeting and Monitoring tools.
This toolkit represents work-in-progress on tools for policy impact, specifically geared towards the needs of researchers. The tools are grouped under the headings. Research Tools. Context Assessment Tools. Communication Tools. and Policy Influence Tools.
To view summaries and full pdf versions of these toolkits or how to order printed copies, see the publications pages.
LEAD Technologies is the world-leading supplier of imaging development SDKs. The LEADTOOLS family of toolkits is designed to help programmers integrate color, grayscale, document, medical, multimedia, Internet and vector imaging into their applications quickly and easily. LEAD's award-winning imaging technology has been chosen by Microsoft, Hewlett Packard, Intel, Boeing, Xerox, Kodak, Ford Motor Company and thousands of other companies for use in their high volume applications and internal systems.
We are grateful to the After Prison Initiative of the Open Society Institute for making it possible for the Legal Action Center to develop these toolkits.
#include "glut. h" #pragma comment( lib, "glut32" ) static bool keystate[256]. void glutKeyboardUpCallback( unsigned char key, int x, int y ) { printf( "keyup=%i\n", key ). keystate[key] = false. } void glutKeyboardCallback( unsigned char key, int x, int y ) { printf( "keydn=%i\n", key ). keystate[key] = true. } void glutDisplayCallback( void ) { Sleep(100). for ( int i=0. i <= 255. i++ ) { if ( keystate[i] == true ) printf( "ASCII key %i is pressed.\n", i ). } glutPostRedisplay(). } int main(int argc, char* argv[]) { glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB). glutCreateWindow( "test" ). glutKeyboardFunc( glutKeyboardCallback ). glutKeyboardUpFunc( glutKeyboardUpCallback ). glutDisplayFunc( glutDisplayCallback ). glutMainLoop(). return 0. } 4) Help with glutGameMode glutGameModeString glutGameModeString is a useful function for setting the screen resolution, refresh rate, and bit depth for fullscreen applications (like games). The sole parameter is a pointer to a string which specifies the screen properties desired. glutGameModeString( "640x480.16@60" ). In the above example, this selects a resolution of 640x480, 16 bits per pixel (bit depth), and 60Hz refresh rate. You can create your own game mode string using the following sprintf statement or your own method. char temp[64]. sprintf( temp, "%dx%d.%d@%d", width, height, pixelDepth, refreshRate ). Think of this as a request to the GLUT system. You aren't necessarily guarenteed the mode you requested. glutGameModeGet To see what you are working with, simply use the glutGameModeGet function. The single arguement specifies what you are trying to get. Here's a list of possible arguements. Arguement Description GLUT_GAME_MODE_ACTIVE Whether game mode is active. GLUT_GAME_MODE_POSSIBLE Whether game mode is possible. GLUT_GAME_MODE_WIDTH The game mode screen width (ex. 640 pixels). GLUT_GAME_MODE_HEIGHT The game mode screen height (ex. 480 pixels). GLUT_GAME_MODE_PIXEL_DEPTH The game mode pixel depth (ex. 16bits). GLUT_GAME_MODE_REFRESH_RATE The game mode screen pixel depth (ex. 60Hz). GLUT_GAME_MODE_DISPLAY_CHANGED Whether game mode changed the display. To determine what mode we are dealing with, the following code snippet should suffice for most cases. width = glutGameModeGet( GLUT_GAME_MODE_WIDTH ). height = glutGameModeGet( GLUT_GAME_MODE_WIDTH ). pixelDepth = glutGameModeGet( GLUT_GAME_MODE_PIXEL_DEPTH ). refreshRate = glutGameModeGet( GLUT_GAME_MODE_REFRESH_RATE ). glutEnterGameMode Instead of worrying about a bunch of calls to the Operating System to initialize a fullscreen window and create the OpenGL interface, you can do it in one single call to glutEnterGameMode. It's that simple. Think of it as a replacement to your usual call of glutCreateWindow. Then you must setup your callbacks (display, keyboard, etc) after the call to glutEnterGameMode just like an ordinary GLUT program. int main(int argc, char * argv[]) { // initialize GLUT glutInit( &argc, argv ). // set RGBA mode with double and depth buffers glutInitDisplayMode( GLUT_RGBA | GLUT_DOUBLE | GLUT_DEPTH ). // 640x480, 16bit pixel depth, 60Hz refresh rate glutGameModeString( "640x480.16@60" ). // start fullscreen game mode glutEnterGameMode(). // setup window callbacks glutDisplayFunc( display ). glutKeyboardFunc( keyboard ). glutIdleFunc( idle ).. // enter main loop glutMainLoop(). return 0. } glutLeaveGameMode After you are finished with the fullscreen window, you can get rid of it with a call to glutLeaveGameMode somewhere where you are shutting down. II. Popular GLUT Patches For answers to common questions about GLUT functionality, make sure and read the GLUT section of OpenGL. org's OpenGL Developer FAQ. 1) Fixing GLUT's "X" button close window exit() bug Rob Fletcher, at the University of York, has written a fix to the GLUT window-close problem. He's added a callback which informs the caller when a window is closed. The default action is to exit, so this is backwards-compatible with existing code. But multi-window GLUT applications can now handle window closes properly. Editors Note. Rob's patch adds a window close callback - void glutWMCloseFunc( void (*func)(void) ). It also creates a re-entrant event loop that returns on exit to the calling process. e. g.. for(..) glutCheckLoop() Rob Fletcher's GLUT Patches. 2) Creating a re-entrant glutMainloop. Steven Baker's glutMainLoopUpdate. Rob Fletcher's GLUT Patches. III. OpenGL Game Development Frameworks Game frameworks take the hassle out of OpenGL game programming by providing an underlying support layer for the developer to rely on. Each framework has various different features and platform support. Click on the links below for brief summaries of each. 1) GLUT - See the GLUT section of this FAQ. 2) GLFW - An OpenGL Framework. 3) Cpw - Cross Platform Windowing for OpenGL. 4) PLIB - The Portable Games Library. 5) FreeGlut - Opensource re-write of the popular GLUT library. 6) GLT - GL C++ Toolkit. 7) Grand Unified Toolkit - a cross-platform C++ API for game development. 8) DemoGL - execution platform for multi-media based graphical effects. 9) SDL - cross-platform multimedia library adapted to OpenGL. IV. OpenGL Windowing Application Frameworks Application frameworks take the hassle out of Window based OpenGL applications by providing an underlying support layer for the developer to rely on. Each framework has various different features and platform support. Click on the links below for brief summaries of each. 1) GLUT - See the GLUT section of this FAQ. 2) Cpw - Cross Platform Windowing for OpenGL. 3) FreeGlut - Opensource re-write of the popular GLUT library. 4) GLT - GL C++ Toolkit. 5) GLFW - An OpenGL Framework. 6) SDL - cross-platform multimedia library adapted to OpenGL. V. Upper Level OpenGL User Interface Widget Libraries Widget Libraries or UI Frameworks take the hassle out of displaying common windowing controls such as drop downs, text entry, and buttons. Each framework has various different features and platform support. Click on the links below for brief summaries of each. 1) MUI/PUI/GLUI a) GLUI Home Page b) Steve Baker's MUI/PUI/GLUI Information 2) GLOW - a C++ OpenGL Widget Library. 3) FLTK - a C++ OpenGL Widget Library. 4) FOX - C++ Toolkit for developing Graphical User Interfaces easily. 5) libUFO - a C++ OpenGL Widget Library. 6) GLOWaux - a C++ OpenGL Framework for the GLOW Library. 7) Cpw - Cross Platform Windowing for OpenGL. 8) GLGooey - platform-independent, small, extensible collection of user interface components. VI. More Toolkits Information and Support 1) Visit the www. OpenGL. org Toolkits Discussion Forum 2) Google Directory. OpenGL Add-on Libraries 3) The OpenGL Developer FAQ and TroubleShooting Guide 4) The OpenGL Game Development FAQ VII. Font Rendering in OpenGL A number of different libraries support various different types of font rendering in OpenGL. Make sure and read OpenGL. org's Survey of OpenGL Font Technology. 1) GLUT - ANSI C, Simple Stroke and Bitmap Fonts. 2) glFont - ANSI C, Texture Mapped Fonts. 3) FTGL - C++, TrueType Fonts, Requires FreeType 2.0. 4) GLTT - C++, TrueType Fonts, Requires FreeType 1.0. 5) FNT - Part of PLIB, ANSI C. 6) GLF 7) Cpw - ANSI C, TrueType Fonts, Requires FreeType 2.0. VIII. Scripting interfaces to OpenGL A number of different scripting engines support OpenGL. Aside from interfaces for common languages such as Python there are a number of less known scripting languages out there that provide unique ways of programming in OpenGL. 1) SharpGL - C# wrapper for OpenGL #1 2) CFC# OpenGL Wrapper - C# wrapper for OpenGL #2 3) CsGl - CsGL implements a wrapper for the well known C-library OpenGL allowing any .NET language make use of it. 4) LuaGL - Lua is a powerful light-weight programming language designed for extending applications. 5) IoGL - Io is small prototype-based programming language.
AI. Implant -- Once known as ACE, this toolkit developed by Biographic Technologies out of Canada was originally released in March, 2001 and then upgraded (and renamed) just prior to the GDC in March, 2002.
Braniac -- An interestly named toolkit from the Twilight Minds design group, the Braniac Behavior Engine (BBE) is an open source AI "engine" that promises to provide "real-life behavior". BBE has an interesting feature set, allowing for what appears to be a goal-based hierarchy using scripts and simple
Oddly enough, no pathfinding capabilities are provided. The kit does come with a suite of debugging and tuning tools to help you build the perfect game AI. Definitely an interesting toolkit. In its earlier incarnation I felt that if you already knew enough to know you needed it, then you probably didn't need it, but with the newer releasses that's faded away. Very much a good toolkit with a lot of potential.
KDCalc -- At one of the 2003 GDCi AI roundtables, Neil Kirby asked developers what was the most used middleware (i. e., toolkits) that they used in building their AIs. After a bit of uncomfortable silence, one guy piped up and said, "Microsoft Notepad" and then quickly added ".or Excel.". Well, the guys who make
Logic Programming Associates -- These folks offer a series of AI programming tools that I'd somehow missed completely for years. Providing a package of tools, LPA is now striving to make their toolkit more attractive to the game development community. They have a variety of utilities that programmers might find useful.
LPA has a variety of other tools as well, and they're constantly adding new features. Prices range from a few hundred to several thousand dollars depending on the application and what features you want in the toolkit. For more information, hit their website (above).
Memetic -- Billing itself as "behavorial tools for persistant world game developers", the Memetic Artificial Intelligence Toolkit (MAI) is a fairly powerful API with a good base of documentation and such. The toolkit is written entirely in NWScript, Bioware's scriping language that drives their Neverwinter Nights series of games. As such the original idea was to provide better AI for aspiring dungeonmasters using that game to build adventures. The toolkit isn't limited to that however. MAI is a modular, priority-based system for each NPC with preemption, suspension, and resumption of various actions and states as required. A communications system is in place, and there are libraries of behaviors already provided as part of the toolkit. The code supports C++ style inheritance and various types of learning. MAI has an excellent documentation base and some well populated forums with a fairly activie community. While MAI is focused heavily on Neverwinter Nights there's a lot to learn from its construction and the discussions that are ongoing. An excellent package.
Library. PathEngine is a pretty neat toolkit that's still in the polishing phase as of this writing. It offers a variety of fast and efficient pathfinding libraries for the game developer together with a tightly-coupled collision model (a good combination, IMO--Ferretman). It provides for geometric pathfinding queries and handles dynamically placed (i. e., moving) obstacles just fine. There's a lot more but I must say the thing looks quite robust. The code itself comes in the form of a .DLL and there's all kinds of documentation and such on the web site. Well worth checking out!
RenderWare AI -- A neat package that burst on the scene in the December, 2002 issue of Game Developer magazine, RWAI (it's fully name is "Renderware AI Powered by Kynogon", so you can see why I shortened it for this) is impressive in what it provides--and kinda fun to use. Better yet you don't actually need Renderware to use it (though it perhaps offers more flexibility in conjunction with that package). Renderware has long been known as an excellent 3D tool (in fact we used it for much of our work on Behind Enemy Lines for Sega). Now they've expanded their toolkit with a new AI middleware package in an attempt to bring the same level of performance and integration to the AI field. (There are definitely some strong resemblances between this product and the AI. Implant package, but I'm told by the developers that's pure coincidence.) RWAI takes a somewhat similar approach to that offered by AI. Implant in that it provides a suite of what they call "layered solutions" for building one's AI.
InfoWorld has covered a number of excellent proprietary AJAX toolkits in the past, and now were turning our attention to some of their open source rivals. Are they worth exploring for enterprise use? [Watch AJAX screencasts. Dojo, Google, Microsoft Atlas, Rico, Yahoo, Zimbra] The open source toolkits I examined span a wide range of what might be covered by the term AJAX, an acronym for Asynchronous JavaScript and XML that began appearing little more than a year ago. The idea of using JavaScript with or without XML to add intelligence and interactivity to a Web page dates from the earliest days of the Web, and AJAX is now one of the best ways to distribute client applications with a minimal amount of fuss. (See more on the intricacies of AJAX.) If youre interested in whether these open source packages compete with the best commercial tools, the simple answer is. not in general but sometimes in specific details. The best-known proprietary packages, such as Backbase, JackBe, and Tibco's General Interface, all offer complete development environments with full toolkits, sophisticated event models, and debuggers. With them, you can write applications that run in the limited environment of a Web browser but offer almost all of the features of native code. (See more on proprietary AJAX tools we've reviewed.) None of the open source packages I looked at come close to the range, depth, and support of these commercial packages. But that doesnt mean that there isnt plenty thats worthwhile in these open-source AJAX projects theres an explosion of interest in the area right now. Selecting the six Passing over dozens of excellent packages and thousands of perfectly adequate solutions, I selected high-profile toolkits supported by the most stable organizations. Dojo, Google Web Toolkit, Microsoft Atlas, Open Rico and Prototype, Yahoo AJAX Library, and Zimbras Kabuki AJAX Toolkit. Microsofts Atlas may not be open source the license includes terms that would rankle a devotee but the code you create with the system is yours to license as you like, and youll be able to create Atlas apps with few practical restrictions. The six packages I examined all offer a number of extremely useful user interface widgets and background tools for simplifying the process of building an AJAX application. They will be most interesting to developers with running applications who only want to add a new part or update a page. If you want to add an animated panel or a live table, for example, you can usually cut and paste them into place. the examples are generally good enough to help you accomplish the basic routines. Still, theres often a need to fidget and fuss with the code if you want to do things that are even slightly different from the established framework. Its a feeling that will be familiar to most programmers who have used open source. The code is often quite nice, but the developers seem more interested in getting it out the door than re-engineering it until its even easier to use. For instance, with some of these tools it took me just a few minutes to add a table of data
That could be sorted on the client if I imitated the example code as closely as humanly possible. But if I tried to improvise or do something differently, the code would break, and the documentation was often quite unhelpful. This rough surface means that any development team should think about its environment before putting open source AJAX tools into action. If you have seasoned programmers and the ability and time to use the freedom and flexibility provided by the source code, these toolkits are great deals. If youre a newer programmer or someone without the time to wade into a project, you should think twice about the costs and consider the more professional packages. Dojo If there is one open source AJAX project that is leading the pack these days, it might be Dojo. Its not necessarily better in any particular way than the others, but it is both broad and deep with a big selection of very customizable widgets. These traits may explain why both IBM and Sun have recently signed on to support the Dojo Foundation and its work.
We are grateful to the After Prison Initiative of the Open Society Institute for making it possible for the Legal Action Center to develop these toolkits.
AI. Implant -- Once known as ACE, this toolkit developed by Biographic Technologies out of Canada was originally released in March, 2001 and then upgraded (and renamed) just prior to the GDC in March, 2002.
Braniac -- An interestly named toolkit from the Twilight Minds design group, the Braniac Behavior Engine (BBE) is an open source AI "engine" that promises to provide "real-life behavior". BBE has an interesting feature set, allowing for what appears to be a goal-based hierarchy using scripts and simple
Oddly enough, no pathfinding capabilities are provided. The kit does come with a suite of debugging and tuning tools to help you build the perfect game AI. Definitely an interesting toolkit. In its earlier incarnation I felt that if you already knew enough to know you needed it, then you probably didn't need it, but with the newer releasses that's faded away. Very much a good toolkit with a lot of potential.
KDCalc -- At one of the 2003 GDCi AI roundtables, Neil Kirby asked developers what was the most used middleware (i. e., toolkits) that they used in building their AIs. After a bit of uncomfortable silence, one guy piped up and said, "Microsoft Notepad" and then quickly added ".or Excel.". Well, the guys who make
Logic Programming Associates -- These folks offer a series of AI programming tools that I'd somehow missed completely for years. Providing a package of tools, LPA is now striving to make their toolkit more attractive to the game development community. They have a variety of utilities that programmers might find useful.
LPA has a variety of other tools as well, and they're constantly adding new features. Prices range from a few hundred to several thousand dollars depending on the application and what features you want in the toolkit. For more information, hit their website (above).
Memetic -- Billing itself as "behavorial tools for persistant world game developers", the Memetic Artificial Intelligence Toolkit (MAI) is a fairly powerful API with a good base of documentation and such. The toolkit is written entirely in NWScript, Bioware's scriping language that drives their Neverwinter Nights series of games. As such the original idea was to provide better AI for aspiring dungeonmasters using that game to build adventures. The toolkit isn't limited to that however. MAI is a modular, priority-based system for each NPC with preemption, suspension, and resumption of various actions and states as required. A communications system is in place, and there are libraries of behaviors already provided as part of the toolkit. The code supports C++ style inheritance and various types of learning. MAI has an excellent documentation base and some well populated forums with a fairly activie community. While MAI is focused heavily on Neverwinter Nights there's a lot to learn from its construction and the discussions that are ongoing. An excellent package.
Library. PathEngine is a pretty neat toolkit that's still in the polishing phase as of this writing. It offers a variety of fast and efficient pathfinding libraries for the game developer together with a tightly-coupled collision model (a good combination, IMO--Ferretman). It provides for geometric pathfinding queries and handles dynamically placed (i. e., moving) obstacles just fine. There's a lot more but I must say the thing looks quite robust. The code itself comes in the form of a .DLL and there's all kinds of documentation and such on the web site. Well worth checking out!
RenderWare AI -- A neat package that burst on the scene in the December, 2002 issue of Game Developer magazine, RWAI (it's fully name is "Renderware AI Powered by Kynogon", so you can see why I shortened it for this) is impressive in what it provides--and kinda fun to use. Better yet you don't actually need Renderware to use it (though it perhaps offers more flexibility in conjunction with that package). Renderware has long been known as an excellent 3D tool (in fact we used it for much of our work on Behind Enemy Lines for Sega). Now they've expanded their toolkit with a new AI middleware package in an attempt to bring the same level of performance and integration to the AI field. (There are definitely some strong resemblances between this product and the AI. Implant package, but I'm told by the developers that's pure coincidence.) RWAI takes a somewhat similar approach to that offered by AI. Implant in that it provides a suite of what they call "layered solutions" for building one's AI.
Download your copy today and start getting access to the advice and assets that will improve your customer experience and marketing success. Available only to Canadas tourism industry, this custom toolkit was designed to help tourism businesses understand what it takes to turn a product into a world-class experience that sells. Based on in-depth research and the latest trends, its full of useful advice from finding your best customers to positioning your product in the marketplace. There are even tips from some of Canadas leading companies on what it takes to build an extra-ordinary tourism experience. Align your business with Canadas tourism brand and enhance your products international appeal. Get your guide today and take advantage right now of the nation-wide effort to market Canada as a premier four-season tourism destination.
Toolkits help educators to understand and apply UDL principles in classrooms and/or to train others in UDL. Using the UDL framework, the toolkits support varied learning styles, needs, and preferences for teachers and students. Interactive activities, tutorials and tools are provided online. similar versions can be downloaded or printed. Specific curriculum resources, tools, and materials may be copied and used in classrooms.
The NI LabVIEW product family consists of the LabVIEW development environment and add-on software tools that extend LabVIEW graphical programming for specific applications. Learn more about the LabVIEW product family or download fully-functional trials of more than 25 LabVIEW modules and toolkits.
Use LabVIEW to design, prototype, and deploy embedded applications to a variety of processing targets, including off-the-shelf real-time and FPGA-based systems as well as custom microprocessor and microcontroller devices. NI Modules and Toolkits for Embedded Design.
Combine algorithm development, analysis, and visualization in LabVIEW with tools for system identification, control design, simulation, and implementation. NI Modules and Toolkits for Control Design and Simulation.
Incorporate hundreds of application-specific image and signal processing functions into your LabVIEW applications. NI Modules and Toolkits for Image and Signal Processing.
Deploy LabVIEW to networked programmable automation controllers (PACs) to create reliable distributed monitoring and control systems, and connect to your existing programmable logic controllers (PLCs) and enterprise systems. NI Modules and Toolkits for Industrial Monitoring and Control.
Develop and deploy professional, higher-quality LabVIEW applications using a variety of software engineering tools. NI Modules and Toolkits for Software Development and Deployment.
This article is a guide to the most popular JavaScript toolkits out there, giving an overview of what they can do for you, and giving a comparison of their strengths and weaknesses. Sometimes during JavaScript development you will inevitably find yourself writing the same code over and over again. Perhaps you've even put that code in a reusable library. If so, toolkits are for you. This article and its companions are intended for JavaScript developers who want to get rid of the repeated tasks in their work that ought to be simple. This article is intended for people with previous JavaScript experience. for those of you who want to brush up on the JavaScript language, you might want to take a look at the following articles.
Some call them JavaScript toolkits, frameworks or libraries. Regardless of name, they are designed to make your work simpler and more productive, while abstracting away the bare bones of AJAX, animation, event handling, DOM manipulation and aspects of the JavaScript language itself. We'll update this article continuously with more introductions and links, so be sure to check back often.
There are many toolkits out there, including jQuery, Yahoo UI, Prototype, DOJO, MochiKit and others. Which do you choose? Many of them offer the same functionality with different twists. Some toolkits focus on animations and effects, while others are more general. In the articles that follow this one, I'll look at the functionality, characteristics and support structure available with the different toolkits. In this article I'll offer a brief summary of the different characteristics the toolkits offer, and how they compare to each other. I have defined the characteristics as shown in the following sections.
Functionality indicates what actual functions, widgets and other features the toolkit provides. We'll look at the following different types of functionality.
Event binding and handling. Frameworks for listening to and handling events. Some toolkits offer customized events in addition to the DOM events.
Extendibility. How easy it is to add functionality into the toolkit using plugins, registering functions and so on.
Compatibility. How well the toolkit plays with other code eg whether or not it hijacks the global space, uses a namespace and so on.
Modularity. Whether or not the toolkit is split up into modules or plugins that can be loaded separately.
In follow up articles, we'll also take a look at the performance of these toolkits on various Opera browser versions like the desktop browsers, Opera for mobiles, TVs and other devices.
Here we provide some summary information of each specific toolkit, to give you a taste before we move on to the dedicated articles.
This toolkit is based around a powerful mechanism for selecting different elements on the page. You can then apply animations, event bindings and AJAX downloads to several elements all at once. Read the article on jQuery. Resources.
Dojo is a very expansive toolkit, providing an enormous wealth of different functionality with a very modular approach. It provides pretty much everything you could want to do in JavaScript, packed into one fairly weighty package (you can also download the modules separately if you only need a small subset of functionality). To find out more, read our Introducing the Dojo toolkit article. Resources.
In the following tables I summarize the aspects of the different toolkits. Read the articles on the specific toolkits for more information. The comparisons will be updated as we cover more of the toolkits.
In this article I've introduced JavaScript toolkits and given a quick comparison of them, so you can get an idea of what each one offers. The article will be expanded as we go through more toolkits, and more full articles will be added to this site in time, to give you more details on each toolkit.
The clearing-house mechanism toolkit was created to assist Parties and Governments to establish their respective national clearing-house mechanisms (CHMs). Building on an earlier model, the toolkit emphasizes the three objectives identified in the CHM strategic plan (UNEP/CBD/COP/5/INF/3).
Offering information on existing technical toolkits, to facilitate the technical implementation of national CHM websites.
The CHM toolkit is designed as a work in progress and will constantly take note of major new initiatives related to technical and scientific cooperation and new information formats, protocols and standards. It is written in the context of a philosophy of sharing, of the open exchange of information and ideas, and of partnerships to ensure the successful promotion of technical and scientific cooperation and the effective implementation of the Convention. Click here to access the CHM toolkit
United for Peace Justice/Beyond War Youth Activist ToolkitThis toolkit (in PDF format) was crafted for student and youth activists. Dissent is Patriotic! Utilize this toolkit for step-by-step instructions on everything you need to affect change.
FAIR (Fairness and Accuracy In Reporting) Media Activism Toolkit Work to invigorate the First Amendment by advocating for greater diversity in the press and by scrutinizing media practices that marginalize public interest, minority and dissenting viewpoints.
Get Active. An Activist Toolkit Activist toolkit put together by Greenpeace Australia campaigners about setting up and managing social and environmental justice campaigns.
Drug Policy Alliance Guide to Getting Press This toolkit (pdf) will help sharpen your skills to maximize your effectiveness when dealing with the media.
This toolkit provides important resources for partners to help people with Medicare learn about and apply for extra help (the low-income subsidy, or LIS). Please scroll down to the bottom of the page for downloadable materials and helpful links for those that may need extra help paying for prescription drugs. General targeting estimates are provided below to assist in ongoing outreach activities. These estimates are provided at the state, county, and zip-code level and include Part D-eligible Medicare beneficiaries who 1) are not currently receiving prescription drug coverage and 2) may be eligible for extra help based on the median income of where they live. We invite you to click the maps below to view a representation of the estimated number or percent of eligible beneficiaries in your area of interest.
Entrust Authority Toolkits provide customers and partners with the ability to apply best-in-class security to almost any business application. These Toolkits provide a common set of services to permit developers to rapidly deploy applications that solve business problems without having to spend valuable development cycles developing these common services. Standards-based APIs Lower Costs and Speed Deployment Entrust Authoritys standards-based, application programming interfaces (APIs) make it possible to implement a single enhanced Internet security architecture across multiple applications and platforms. By minimizing the need for separate administration modules with every deployed application, these Toolkits provide a reduction in administrative duplication and help to reduce the cost to deploy across multiple platforms. Easy to Use By shielding developers from the complexities of low-level cryptographic functionality, Entrust Authority Toolkits permit developer to concentrate on the business problem at hand and enable rapid development of secure applications. Organizations are not restricted to an off-the-shelf set of applications. they can implement best-in-class security in all of their applications. Developed upon existing and emerging standards and protocols, the Entrust Authority Toolkits provide customers and partners with the ability to develop interoperable system solutions. The Entrust Authority product portfolio includes the following Toolkits.
Security Toolkit for the Java Platform build interoperable Java applications, applets, or servlets with multiple internet security solutions
Supported Wireless Toolkits At one time, the supported toolkits were listed on this page. Unfortunately, keeping track of the changes in EclipseME and the various toolkits is difficult and error prone. Therefore, this file no longer lists specific toolkits and supported versions.
Other toolkits may work with EclipseME, but those toolkits are neither supported nor tested. In particular, beginning with version 0.6.0, EclipseME now has support for some toolkits that meet the Unified Emulator Interface (UEI) Specification. Therefore, toolkits that are not in the following list may still work as a "Generic UEI Toolkit". See Configure the Plug-In's Wireless Toolkit Settings in the Installation Instructions for more information on how to configure a UEI toolkit.
The SOAP protocol is a critical communication protocol on the Internet due in large part to the fact that it has become native to so many development platforms. SOAP itself has also become an incredibly stable protocol. The WS-* Wars of the early millenium seem to have died down, and the few truly useful extensions to SOAP have been selected by the market. Most SOAP toolkits as well have stablized along with the protocol. Relative to all those other toolkits, the status of this SOAP toolkit is fair to good. It differentiates itself from other toolkits by still being really easy to use for the majority of use cases. But as more and more people adopt document-literal as their preferred method of encoding, the roots and biases of SOAP..Lite in regards to XML..RPC begin to show and the toolkit is not as resilient. As a result, SOAP..Lite has a number of known interoperability issues with more modern implementations of SOAP servers and clients. The task of keeping SOAP..Lite up to date is a difficult one. The source code is notoriously complex, a mark of the seriously ingenious Paul Kulchenko who created SOAP.Lite. As a result baffles most inexperienced Perl programmers, and indeed sends many of them running in shear terror. I myself am given the highest respect in my office for signing up to maintain the module for this fact alone - I work with some of the brightest and most experienced Perl programmers in the industry and they all look at SOAP..Lite in awe. And not the good kind of awe, the kind of awe that gives people a healthy, but fearful respect. But I am not trying to inflate my ego, I am trying to set the stage for what should be next for Perl's only SOAP toolkit. If SOAP..Lite as a project that is to attract more contributing authors, it is essential that the SOAP..Lite code base become easier to work with. SOAP..Lite could benefit a great deal from shedding a lot of the code written before the protocol had really matured, before the era of the WS-i, before a time where other toolkits and servers had agreed upon and embraced a set of best practices. It should consider severing itself from XML..RPC which is really a different protocol that operates under a totally different set of assumptions. SOAP..Lite should shift to a document-driven model, as opposed to an RPC driven one. Therefore SOAP..Lite needs a re-write. SOAP..Lite needs to live up the Lite part of its name. SOAP..Lite should be built from the ground up to conform to the WS-i's requirements. It should be built first and foremost around a wicked WSDL parser and engine. It should be made more modular so that its components can be more easily swapped out for newer and better implementations without disrupting users and developers. It should take advantage of the number of perl modules that have evolved since SOAP..Lite was conceived to reduce code complexity and obscurity. SOAP..Lite needs your help. SOAP..Lite needs a group of 2-3 passionate people to take a fresh look at this critical toolkit for Perl developers and to usher into a new age of utilization, community growth, usage, and utility. Undertaking a project like this is not a trivial task. It requires months and months of dedicated time and attention. And then it must also be supported and maintained. This project would not start from ground zero. There is a vision and a plethora of tried and true code already within SOAP..Lite that shouldn't be needlessly thrown away. What we endeavor to do is make SOAP..Lite easier to grok and easier to work with. What we hope to create is a new module, called SOAP..Easy. Byrne Reese Lead Developer and Maintainer, SOAP..Lite
The telecommunications industry has witnessed very rapid changes over recent years, with the explosive growth of mobile and other wireless services and the development of international telecom service providers. This is in large part due to liberalization policies that have opened the industry to competition. But liberalization does not necessarily mean deregulation, at least in the short term. The successful transformation of monopolistic telecommunications markets requires regulatory intervention to introduce effective competition. Numerous independent regulatory agencies have been established to regulate telecommunication services. This toolkit provides a good introduction to the main regulatory topics the telecommunications industry needs to consider. In the long run, competition will be more effective in generating efficiency gains and regulation should be kept to a minimum. Download the toolkit.
This toolkit was prepared by Canadian telecommunications consultant Hank Intven et al. (2000) for the World Bank's InfoDev Program. Support and assistance by the International Telecommunication Union (ITU).
Each link here provides access to web-based materials of general use to students in the specified courses. Do you know of useful web sites that aren't included? Let us know. There is also a slide show about toolkits in case you are interested in developing your own.
As part of its goal to support researchers from developing countries in their work and to help disseminate their research, GDNet produces toolkits to share knowledge and experience on key topics. The toolkits provide practical, hands-on advice compiled from a range of sources form best practice literature to interviews with individuals experienced in that area. Each one has been specially written to cover areas of particular interest to researchers in developing countries - we hope you find them useful.
Providing practical suggestions for applying for funding and proposal writing, this toolkit is based on interviews with experienced research fundraisers in both developing and developed countries. Obtaining funding for your research is a difficult achievement, so we hope this guide will help give your proposal the best possible chance of success
Rich with practical suggestions for communicating academic research using the internet, this toolkit draws on best practice for web strategies from the information and commercial worlds, especially selected to help the successful electronic dissemination of your research.
The audit committee toolkits are designed to make audit committee best practices actionable for audit committees of public companies, private companies, not-for-profit organizations, and government entities. Access specific information on specific toolkit below. Toolkit. Public Company Toolkit. Private Company Toolkit. Not-for-Profit Toolkit. Government
The UNIX community has developed a wide range of GUI toolkits over the years, primarily built on top of the X11 Windowing system. Virtually all of these have been ported to Mac OS X, and many can even run directly on Quartz without the need for an X11 server. This page provides a link to the most popular toolkits. In addition, other toolkits and porting resources are available from the Fink and OpenDarwin ports collections. Please see Chapter 5 of Apple's UNIX Porting Guide for suggestions on how best to bring your UNIX GUI over to Mac OS X.
GTK+ is a multi-platform toolkit for creating graphical user interfaces. Offering a complete set of widgets, GTK+ is suitable for projects ranging from small one-off projects to complete application suites. In addition to a robust X11 port, used for projects like the Gimp and CinePaint, there is also an alpha Carbon port available from the GTK+OSX project.
GLUT is the OpenGL Utility Toolkit, a window system independent toolkit for writing OpenGL programs. It implements a simple windowing application programming interface (API) for OpenGL. GLUT makes it considerably easier to learn about and explore OpenGL programming. GLUT provides a portable API so you can write a single OpenGL program that works on many platforms. A native version of GLUT is bundled with all versions Mac OS X.
Motif is the base graphical user interface toolkit for the industry-standard Common Desktop Environment, and includes both a windom manager and a widget library. Open Motif is a source code version of Motif available under a public license, which allows Open Motif to be distributed royalty free when the platform upon which it is shipped is Open Source. Open Motif is available in binary form for Mac OS X from Imperial Software Technology
Tkinter is Python's de-facto standard GUI (Graphical User Interface) package. It is a thin object-oriented layer on top of Tcl/Tk, and is the most commonly used toolkit for Python, as well as one of the most portable (though see also WxWindows, below). It does not require you to write Tcl, but you may need to refer to the Tcl/Tk documentation. While available for X11 on Mac OS X, noone has yet integrated the Aqua version of Tcl/Tk with Tkinter.
Perl/Tk (also known as pTk or ptk) is a collection of modules and code that attempts to wed the easily configured Tk 8 widget toolkit to the powerful lexigraphic, dynamic memory, I/O, and object-oriented capabilities of Perl 5. In other words, it is an interpreted scripting language for making widgets and programs with Graphical User Interfaces (GUI). Perl/Tk is available for X11, but since the codebase has diverged from Tcl/Tk, it would not be easy to incorporate that Aqua port.
Tcl (Tool Command Language) is used by over half a million developers worldwide and has become a critical component in thousands of corporations. It has a simple and programmable syntax and can be either used as a standalone application or embedded in application programs. Best of all, Tcl is open source so it's completely free. Tk is a graphical user interface toolkit that makes it possible to create powerful GUIs incredibly quickly. It proved so popular that it now ships with all distributions of Tcl, and there are now variants for Perl and Python. The latest Tk distribution includes beta-quality support for Tk/Aqua.
Qt is a multiplatform, C++ application framework that lets developers write one application that will run -- natively -- on Windows, Linux/Unix, Mac OS X, and embedded Linux with a simple recompile. It is elegant, intuitive, completely object- oriented, and inspires true love among developers, project managers, and IT executives. Qt is now available as a Aqua toolkit for Mac OS X under the GPL.
XForms is a GUI toolkit based on Xlib for X Window Systems. It features a rich set of objects, such as buttons,scrollbars, and menus etc. integrated into an easy and efficient object/event callback execution model that allows fast and easy construction of X-applications. In addition, the library is extensible and new objects can easily be created and added to the library. It is only available for X11 on Mac OS X.
Resources designed to help school leaders communicate important messages to key constituents. Most toolkits include talking points, PowerPoint presentations and press release and op-ed templates. Are you an AASA member?Log in now to access the toolkits. If you are not a member of AASA, join today! Back-to-School | Legislative | Other Toolkits
2007 Stand Up for Public Education Toolkit (January 2007) Designed to help members increase awareness of what's going right in public schools today.
AASA Energy Summit Toolkit(November 2008) Provides practical solutions to help school leaders address the energy challenges theyface in theirdistricts, with materials adapted from the 2008 AASA Energy Summit.
Systems Thinking for School System Leaders Toolkit(February 2008) Designed by the AASA Center for System Leadership to help school leaders become more familiar with the basic tenets of systems thinking and with the value of the systems thinking approach in leading and sustaining school improvement.
Liberty's Apprentice - Public Schools. The Bedrock of Our Democracy (February 2008) A powerful new toolkit from the AASA Center for System Leadership that highlights the role public schools play in teaching democracy to our youth and creating informed citizens.
AASA Annual Report AASA Bulletin AASA Daily News AASA Journal of Scholarship & Practice AASA News and Reminders AASA New Superintendents E-Journal AASA Professional Library AASA Publications Review Board AASA Toolkits Advertise with AASA Conference Daily, The Leader's Edge, The Legislative Corps Weekly Report New Superintendents Journal, The Rural Update School Administrator, The School Governance & Leadership Strategies Corwin Press Books Educational Research Service Publications Lead + Learn Press Rowman & Littlefield Books
Welcome to the Rhode Island Diploma System Local Assessment Toolkits. This collaborative project of the Rhode Island Department of Education and The Education Alliance at Brown University was made possible with the generous support of the Bill and Melinda Gates Foundation. The toolkits contain resources to help schools develop, implement, and sustain graduation portfolios and exhibitions and use common tasks as part of their local diploma system. more
The exhibition and portfolio toolkits provide a process-oriented approach, offering guidelines, strategies, examples and tools to help schools and districts build a rigorous and valid high school diploma system that meets the Rhode Island Department of Education expectations. Portfolio Toolkit | Exhibition Toolkit
Parliament, the Budget and Gender This handbook, the sixth in a series produced by UNDP, the Inter-Parliamentary Union (IPU), World Bank Institute, and UNIFEM, sets out practical examples of parliament's active engagement in the budgetary process. It seeks to advance parliament's own institutional capacity to make a positive impact on the budget, and to equip parliament, its members and parliamentary staff with the necessary tools to examine the budget from a gender perspective. Also available in French and Arabic Strengthening Parliamentary Involvement in the Poverty Reduction Strategy Process and the Millennium Development Goals (MDGs) This series of handbooks was prepared by the National Democratic Institute for International Affairs in partnership with UNDP and with support from the Government of Belgium. Based on the experience of UNDP and NDI in conducting capacity-building activities with members of parliament and PRSP commissions in Malawi, Niger and Nigeria, and drawing on their experience in democratic development programming with legislatures around the world, the handbooks provides resources for MPs, parliamentary staff, civic leaders, social networks and the international community on legislative involvement in poverty reduction. Also available in French, Spanish and Russian Toolkit 1. Legislative-Executive Communication on Poverty Reduction Strategies Toolkit 2. Parliamentary-Civic Collaboration for Monitoring Poverty Reduction Initiatives Toolkit 3. Legislative Public Outreach on Poverty Issues
CONTACT (Country Assessment in Accountability and Transparency) The United Nations developed CONTACT to provide the international development community with a comprehensive tool to assess the financial architecture and integrity systems of a country. The main objective of CONTACT is to assist governments in conducting a self-assessment of their financial management and anti-corruption systems. In addition, it helps consultants, hired by development agencies or governments conduct missions to support governments in their self-assessment efforts or to review cooperation with a government. CONTACT is a tool for quality control, performance and task measurement, and recommends improvements at desired stages of the accountability process. The CONTACT Guidelines are also available in French Local Transparency Toolkit From February to December 2004, UNDP supported nine Transparency Commissions in nine municipalities of Honduras with the purpose of promoting transparent management of resources at the local level. The Local Transparency Toolkit, a set of three publications, documents the experience and lessons learned, and seeks to provide the general public, and local transparency actors in particular, a series of tools and experiences to support the realization of local transparency initiatives.
Looking for some quick tips to help you become a more effective student? Learning Skills Toolkits provide some quick tips to help you expand and develop your skills while at university. The toolkits also feature many useful links to other learning skills resources, make sure to keep your eyes open for them! Organized by topic, click on a link below to get started.
Open-source development toolkit for C and C++ SOAP XML Web services with an XML/SOAP engine, WDSL/XSD tools, web server, and more
These toolkits outline the essential elements for building effective communication, evaluation, and public policy programs. They have been created primarily for Kellogg Foundation grantees. We hope you will find their content provocative and action-oriented. Links to many other publications and Internet resources can help us all do a better job of communicating about our work and serving the needs of society.
This toolkit is designed to provide our grantees with guidance as they undertake this learning effort. It is targeted primarily at those grantees who will be working with an external evaluator, but we believe anyone who is seeking to design an effective, useful evaluation can benefit from this material. Use the links in the left hand column to access the toolkit.
There are several application servers and toolkits available designed to run under mod_perl, which might provide you with inline-Perl coding, or MVC (Model/View/Controller) frameworks. You probably want to look at Choosing a Templating system for more information and in-depth analysis of some of the ones listed here. The following frameworks are sorted alphabetically.
The Template Toolkit ( is a fast, powerful and easily extensible template processing system written in Perl. It is ideally suited (but not limited) to the creation of static and dynamic web content. The
Module provides an Apache/mod_perl interface to the Template Toolkit, providing a quick and simple way to integrate its processing power into your web site.
Create A Huge Online Cash Flow By Developing Selling Your Own Products. New System For Creating Wealth - Revealed For The First Time In This Amazing Easy-To-Follow Toolkit
Up until now its been hard to understand where to start. Now Michael Green has produced this excellent toolkit and suddenly ANYONE can set up and run their own successful marketing forum.
Discover your game plan for making huge sums of money through Google AdSense. Completely eye-opening, this online video based toolkit is a real gem.
Blogging is huge and it's getting bigger all the time. So is it possible to make money from the phenomenon? You bet and this latest Michael Green toolkit shows you how to do it.
Ever wondered how to get as much traffic as you could possible ever want to your website? Now you can with Michael Green's Traffic Czar toolkit. Find out how here.
Toolkits are software libraries that provide capabilities to interpret or generate CGMs. Interpreter libraries are capable of parsing and mapping CGM content to an application's internal graphic structure, whereas generator libraries can convert in the opposite direction.
According to the U. S. Department of Education and U. S. Department of Justice (1998), one of the key elements of a high-quality after-school program is an effective partnership between community-based organizations and schools. The Community-Based Organization and Local Education Agency/State Education Agency toolkits provide research supporting the need for school-CBO partnerships. successful strategies for creating and sustaining partnerships. and, checklists and tools. Community-Based Organization (CBOs) Tool Kit
Thanks to advisors who helped create this work. Jen Rinehart, Afterschool Alliance. Phillip Lovell, Campfire USA. Bob Seidel, Communities in Schools. Jennifer Atkinson, Boys and Girls Clubs of America. Barbara Roth, YMCA of the USA. and, Jane Quinn, Children's Aid Society of New York. In addition thanks to Amy Reesing and Lynne M. Borden, Univerisity of Arizona and Katrina Brown, who worked on the research and writing for the toolkits.
The X Window System contains primitive building blocks, called Xt or "Intrinsics", but they are used only by Motif and Xaw, most other toolkits such as GTK+ or Qt bypass them and use xlib.
Zune (GUI toolkit) is an object-oriented GUI toolkit which is part of the AROS project and nearly an Open Source clone, at both an API and look and feel level, of Magic User Interface.
The Visual Component Library (VCL) is Borland's toolkit used in its C++ Builder and Delphi products.
Windows Forms is .NET's set of classes that handle GUI controls. In the cross-platform Mono implementation, it is an independent toolkit, implemented entirely in managed code (not wrapping the Windows API, which doesn't exist on other platforms)
Note that the X Window system was originally primarily for Unix-like operating systems, but it now runs on Microsoft Windows as well using, for example, Cygwin, so some or all of these toolkits can also be used under Windows.
Trixul A lightweight XML/JavaScript/C++ toolkit, inspired by XUL, for use in desktop applications, and providing cross-platform, native support for Cocoa, .NET Forms, and Gtk+.
The Abstract Window Toolkit (AWT) is Sun Microsystems' original widget toolkit for Java applications. It typically uses another toolkit on each platform on which it runs.
Swing is a richer widget toolkit supported since J2SE 1.2 as a replacement for AWT widgets. Swing is a lightweight toolkit, meaning it does not rely on native widgets.
The Standard Widget Toolkit (SWT) is a native widget toolkit for Java that was developed as part of the Eclipse project. SWT uses a standard toolkit for the running platform (such as the Windows API or GTK+) underneath.
Agar is a set of cross-platform graphics libraries which includes a comprehensive GUI toolkit. Agar supports OpenGL rendering as well as simple frame buffer displays with SDL.
CLX (Component Library for Cross-platform), used with Borland's Delphi, C++ Builder, and Kylix, for producing cross-platform applications. It is based on Qt, wrapped in such a way that its programming interface is similar to that of the VCL toolkit.
Enlightened Widget Library is a high-level toolkit primarily developed to work on the Enlightenment window manager (BSD license).
WxWidgets (formerly wxWindows), open source (relaxed LGPL), abstracts toolkits across several platforms for C++, Python, Perl, Ruby and Haskell.
IP Pascal uses a graphics library built on top of standard language constructs. Also unusual for being a procedural toolkit that is cross platform (no callbacks or other tricks), and is completely upward compatible with standard serial input and output paradigms. Completely standard programs with serial output can be run and extended with graphical constructs.
The best high-performance, cross-platform compression libraries for 32-bit Windows, 16-bit Windows, DOS, Macintosh, Unix, OS/2, and even embedded systems. Crusher is a comprehensive library of routines that allows you to incorporate sophisticated compression technology into your own C/C++ and Visual Basic (and other languages) applications. Crusher is the most complete data compression toolkit of it's kind, offering far greater functionality and portability than any of it's competitors. Crusher's high-performance algorithms and low overhead produce excellent compression ratios comparable to or exceeding those of popular stand-alone compression utilities, without forcing you to shell out to an operating system. A Leader Since 1991 Since 1991, Crusher has been recognized and adopted by leading companies as the best product of its kind for its features, ease of use, performance, and multiplatform support. Crusher compression technology is used in popular applications by such companies as Lotus, IBM, Siemens, Software Publishing Corp., AutoDesk, J. D. Edwards, Connectix, Compton's New Media, and US Robotics, among others. A virtual Who's Who in the industry! It's likely that Crusher would work well in your application, too, saving you time and money. Cross-Platform Solution Crusher is written entirely in C, and can be used with nearly any C or C++ compiler, including MS Visual C++, Borland C++, Watcom, Symantec, GNU, and others. On Windows platforms, Crusher can be used by any language that can call a DLL, including Visual Basic.
Global Integrity generates a variety of qualitative and quantitative toolkits to help governments, advocates, donors, and investors understand governance and corruption trends around the world. Our work has grown from the annual Global Integrity Report to include new and exciting initiatives focused on sub-national and sector-specific issues. Below are the current resources that we offer to users. The Global Integrity Report. Our flagship publication, the Global Integrity Report is a collection of country assessments examining national-level anti-corruption mechanisms in a diverse mix of countries annually. The Report combines qualitative journalism with rigorous quantitative data gathering, all generated by in-country experts. Local Integrity Initiative. The Local Integrity Initiative is a unique collection of projects assessing anti-corruption and governance at the sub-national and sector levels. As an extension of our nationally-focused Global Integrity Report, these joint projects are often carried out with local partner groups to be directly relevant to the diverse governance challenges found at the local level. They often involve follow-on outreach and advocacy. Global Integrity Dialogues. In-country stakeholder discussions and workshops designed to plot a course for the future of local anti-corruption efforts. The Global Integrity Index. Using the data gathered in the course of preparing the annual Global Integrity Report, we are able to aggregate and publish the Index, which groups countries into broad bands of performance when it comes to the existence, effectiveness, and citizen access to national-level anti-corruption mechanisms. The Global Integrity Commons. A place to share your insights into the governance debates of the day, as well as get the latest analysis from Global Integrity, including our blog. Books. Our annual
Global Integrity generates a variety of qualitative and quantitative toolkits to help governments, advocates, donors, and investors understand governance and corruption trends around the world. Our work has grown from the annual Global Integrity Report to include new and exciting initiatives focused on sub-national and sector-specific issues. Below are the current resources that we offer to users. The Global Integrity Report. Our flagship publication, the Global Integrity Report is a collection of country assessments examining national-level anti-corruption mechanisms in a diverse mix of countries annually. The Report combines qualitative journalism with rigorous quantitative data gathering, all generated by in-country experts. Local Integrity Initiative. The Local Integrity Initiative is a unique collection of projects assessing anti-corruption and governance at the sub-national and sector levels. As an extension of our nationally-focused Global Integrity Report, these joint projects are often carried out with local partner groups to be directly relevant to the diverse governance challenges found at the local level. They often involve follow-on outreach and advocacy. Global Integrity Dialogues. In-country stakeholder discussions and workshops designed to plot a course for the future of local anti-corruption efforts. The Global Integrity Index. Using the data gathered in the course of preparing the annual Global Integrity Report, we are able to aggregate and publish the Index, which groups countries into broad bands of performance when it comes to the existence, effectiveness, and citizen access to national-level anti-corruption mechanisms. The Global Integrity Commons. A place to share your insights into the governance debates of the day, as well as get the latest analysis from Global Integrity, including our blog. Books. Our annual
Toolkits LT @ UNSW has developed a series of toolkits to support staff in the development and assessment of graduate attributes at UNSW. The toolkits have been developed to provide you with. questions and ideas to help you reflect on how particular skills are valued in your discipline. tools to support you in developing learning outcomes, activities and assessment tasks for particular attributes. and strategies for supporting students in the process of reflecting on their development of particular skills. Open Toolkitsfor the development and assessment of graduate attributes at UNSW These toolkits will be updated and further developed over time in response to needs expressed by colleagues, feedback from our students and the learning and teaching literature. We welcome your feedback. If you wish to contribute ideas or provide feedback on any of these resources, please email Adele Flood from LT @ UNSW. adele. flood@unsw. edu. au.
Insight into community, parish and town councils, NALC has developed a series of toolkits. They provide information and advice to those wishing to participate and develop local community democracy. With a commitment from all main political parties to empowering local communities this presents the ideal opportunity to revive your neighbourhood, village or town. Community, parish and town councils are an effective and rewarding way to get involved in community life. They deal with local people and local matters on a day to day basis.
The toolkits are designed to be of benefit to individuals and community groups and have been developed by NALC with kind co-operation from its county associations, the Electoral Commission, Participation Matters as well as a number of parish and town councils.
Head Start 101 Toolkit Essential documents to provide orientation for Head Start staff detail Head Start history, values and regulations. The toolkit was designed specifically to support Head Start Bureau staff presentation of Head Start 101 on the HeadsUp! Network on February 15, and March 15, 2002. These tool kits were developed by the federal information clearinghouse, Head Start Information and Publication Center, a service of the Head Start Bureau, to provide program information and resources to enhance Head Start programs.
The following toolkits, case studies and other publications can help you make it happen. Cultivating Communities This booklet gives a brief overview of CSA with 11 case studies » download the Cultivating Communities booklet [pdf, 1.5 mb] A Share in the Harvest - an action manual for community supported agriculture This provides a comprehensive guide to all aspects of setting up a CSA project » download the action manual [pdf, 338 kb] Cultivating Co-operatives Cultivating Co-operatives. organisational structures for local food enterprises. This is a toolkit to help local food enterprises develop their organisations, allowing them to work effectively and achieve their aims. Available from the Soil Association price. £15.00 or you can download it for free.
The Global Corporate Governance Forum, within its mandate to support developing and emerging markets in their corporate governance reform efforts, has launched global and regional initiatives focusing on capacity building. The Forum is developing a series of corporate governance reform toolkits to ensure effective implementation of corporate governance reform at the country level. Building on existing country assessments or diagnostics, the toolkits provide policy makers, private sector decision makers and/or nongovernmental organizations (NGOs) with a roadmap and implementation mechanisms to help structure step-by-step efforts to improve corporate governance. The toolkits aim to distill international experience and offer mechanisms for adapting these to local circumstances.
Toolkit 3. The Corporate Governance Board Leadership Training Resources Kit The Corporate Governance Board Leadership Training Resources Kit provides a comprehensive set of materials and learning tools aimed at enhancing the role that directors play in their boards. It also provides approaches that they can use to ensure that boards and managers adhere to best practices. The emphasis throughout the training is on developing leadership and analytical skills. The resources kit has a unique emphasis on training that maximizes the learning experience. Each module is designed to provoke discussion and debate and uses interactive strategies to enrich training for adult learners. By encouraging participants to draw on personal experiences, their development is reinforced by sharing knowledge and board room practices in a way that addresses the challenges that many directors face. The kit comprises user and training guides, five curriculum modules, a case study that traces the evolution of a hypothetical company as it considers corporate governance reforms, and CD-ROMs with all of the content. Please click here to see the toolkit map.
For more information about the toolkit and the related workshops, please contact the Project Officer, Ms. Ghita Alderman at
Toolkit 2. Developing Codes of Best Practice The second toolkit focuses on Developing Corporate Governance Codes of Best Practice. It sets out a step-by-step approach that could be followed by stakeholders to develop, implement, and review a Corporate Governance Code of Best Practice. Toolkit 2 (French). Développement des codes de bonne pratique de gouvernance d'entreprise Le toolkit 2 expose les raisons du développement dun code de bonnes pratiques en matičre de gouvernance d'entreprise et s'intéresse au processus de développement et de mise en uvre de ce code. Il offre des examples pratiques des différentes étapes de l'élaboration, de la diffusion, de la mise en oeuvre, du contrôle et de la révision de ces codes de bonnes pratiques. Toolkit 2 (Arabic).
Toolkit 1. Building Director Training Organizations The first toolkit developed by the Forum focuses on building director training organizations. It distills practical experience from 17 developed and developing countries and provides practical advice on building organizations that train corporate directors in sound corporate governance practices. Guide 1. Créer des organismes de formation d'administrateurs Le premier guide élaboré par le Forum est consacré ŕ la création d'organismes de formation d'administrateurs. Il fait part des enseignements tirés des expériences concrčtes de 17pays développés ou en développement et fournit des conseils pratiques sur la marche ŕ suivre pour créer des organismes qui forment les administrateurs ŕ de bonnes pratiques de gouvernement d'entreprise. Set de Herramientas #1. Creación de Organizaciones de Capacitación de Directores La primer herramienta desarrollada por el Foro se enfoca en la creación de organizaciones de capacitación de directores. La herramienta está basada en la experiencia práctica de 17 países desarrollados y en desarrollo y brinda asesoria práctica para la creación de organizaciones dedicadas a capacitar a directores corporativos en buenas prácticas de gobierno corporativo.
Bulk candles | Edexcel health and social care | Round popcorn | Leather working tools | Build your own computer | Computer forensics course | Indoor mini golf | Barbecue cookbook | Martini glass centerpieces | Cleveland golf clubs | Mba healthcare administration | Crystal vases | Williams tools | Distributors candles | Home health care cost | Msi barebone notebook | Computer too slow | Custom giveaways | Poultry pens | Solar notebook charger | Usb promotional item | Soccer computer games | Custom printed earthenware mugs | Lathe cutting tools | Mum mug | Schmidt pens | Golf ball ratings | Eco friendly affiliates | Soldering tools | Maxell digital pen | Gallon glass jars | Number pad mouse | Notebook coupons | Eco friendly promos | Vango sleeping bags | Hip bag | Tag marketing | Logos awards | Insulated travel mug | Golf draw | Buy laptop notebook | Eco friendly hotels in los angeles | Collectible pens | Advertising specialty promotional product | Logomall | Custom made food | Calendars year | Eco friendly drinking bottles | Glass travel | A4 binders | Dye sub mugs | Executive promotional | Promotional hats | Cpr for healthcare providers | Golf simulator | Eco friendly jewelry | Kata camera bags | Visual basic tools | Ohio health care power of attorney | Business promotional gifts |