This document provides an overview of client-side widgets in Google Web Toolkit (GWT). It discusses static widgets like Labels and Images, form widgets like Buttons and Checkboxes, and complex widgets like ListBoxes. Code samples are provided to demonstrate how to create and style these widgets. The document is intended for a GWT training session on building user interfaces with widgets.
Codestrong 2012 breakout session what's new in titanium studioAxway Appcelerator
Titanium 3.0 is Appcelerator's biggest release ever, with over 1,000 enhancements to increase productivity. It introduces the Alloy MVC framework to write less code and build richer apps more simply and reusable. It also includes a Command Line Interface, on-device debugging, accessibility support, and Node.ACS integration to build custom backend services. Key goals of Titanium 3.0 are to help beginners get started more easily and provide experienced developers with better tools.
The document describes an image viewer application created in Java. It contains classes for the main ImageViewer class that builds the GUI, an ImagePanel class that displays images on a panel, and an ImageFileManager class that handles loading and saving image files. The ImageViewer class initializes the frame, menus for opening, closing and filtering images, and methods for handling user interactions.
This document provides an agenda and summaries for a class on advanced ActionScript concepts. The class will cover updates to the syllabus, building game elements in ActionScript 3.0, working with the Flash components and forms, and working in project teams. It also summarizes chapters from the Rosenzweig book on ActionScript and game programming, including creating visual objects, user input, and other programming concepts.
What I’ve learned when developing BlockAlertViewsGustavo Ambrozio
The document discusses the author's experience developing iOS apps and their love-hate relationship with UIAlertView. It introduces BlockAlertView, which uses blocks instead of delegates to handle alert view button presses. This eliminates the need for tags, constants, and switch statements. Blocks make the code cleaner and easier to read.
This document provides an introduction to MVC 3 and the Microsoft web platform. It discusses the Model-View-Controller pattern that MVC uses and how it works. The document highlights benefits of MVC like separation of concerns, testability, performance and accessibility. It demonstrates Razor syntax, layouts, sections and rendering pages to organize markup. The document provides resources for additional documentation, SDKs, trials and downloads.
The document discusses various types of dialogs in Eclipse including modal dialogs, message dialogs, confirmation dialogs, error dialogs, warning dialogs, tray dialogs, title area dialogs, and wizard dialogs. It provides details on how to create and use these different dialog types, including creating buttons, button bars, and wizard pages.
Building iPhone Web Apps using "classic" DominoRob Bontekoe
This document discusses building iPhone web apps using classic Domino. It covers the required structure of a mobile web app including initializing the app and registering event handlers. It demonstrates using embedded views in Domino to manage app pages and includes code examples for communicating with servers via AJAX. References are provided for JavaScript frameworks like jQTouch that can be used to build these types of apps.
This document provides instructions for creating collapsible panels in JavaScript without using frameworks. It describes using JavaScript to detect panel elements, add click handlers to toggle their collapsed/expanded state, and save the state of each panel to a cookie so that it persists across page loads. The code provided accomplishes this by getting header elements, toggling class names to change appearance, and saving an object with panel states to a cookie on toggle, then loading that object from the cookie on page load.
Codestrong 2012 breakout session what's new in titanium studioAxway Appcelerator
Titanium 3.0 is Appcelerator's biggest release ever, with over 1,000 enhancements to increase productivity. It introduces the Alloy MVC framework to write less code and build richer apps more simply and reusable. It also includes a Command Line Interface, on-device debugging, accessibility support, and Node.ACS integration to build custom backend services. Key goals of Titanium 3.0 are to help beginners get started more easily and provide experienced developers with better tools.
The document describes an image viewer application created in Java. It contains classes for the main ImageViewer class that builds the GUI, an ImagePanel class that displays images on a panel, and an ImageFileManager class that handles loading and saving image files. The ImageViewer class initializes the frame, menus for opening, closing and filtering images, and methods for handling user interactions.
This document provides an agenda and summaries for a class on advanced ActionScript concepts. The class will cover updates to the syllabus, building game elements in ActionScript 3.0, working with the Flash components and forms, and working in project teams. It also summarizes chapters from the Rosenzweig book on ActionScript and game programming, including creating visual objects, user input, and other programming concepts.
What I’ve learned when developing BlockAlertViewsGustavo Ambrozio
The document discusses the author's experience developing iOS apps and their love-hate relationship with UIAlertView. It introduces BlockAlertView, which uses blocks instead of delegates to handle alert view button presses. This eliminates the need for tags, constants, and switch statements. Blocks make the code cleaner and easier to read.
This document provides an introduction to MVC 3 and the Microsoft web platform. It discusses the Model-View-Controller pattern that MVC uses and how it works. The document highlights benefits of MVC like separation of concerns, testability, performance and accessibility. It demonstrates Razor syntax, layouts, sections and rendering pages to organize markup. The document provides resources for additional documentation, SDKs, trials and downloads.
The document discusses various types of dialogs in Eclipse including modal dialogs, message dialogs, confirmation dialogs, error dialogs, warning dialogs, tray dialogs, title area dialogs, and wizard dialogs. It provides details on how to create and use these different dialog types, including creating buttons, button bars, and wizard pages.
Building iPhone Web Apps using "classic" DominoRob Bontekoe
This document discusses building iPhone web apps using classic Domino. It covers the required structure of a mobile web app including initializing the app and registering event handlers. It demonstrates using embedded views in Domino to manage app pages and includes code examples for communicating with servers via AJAX. References are provided for JavaScript frameworks like jQTouch that can be used to build these types of apps.
This document provides instructions for creating collapsible panels in JavaScript without using frameworks. It describes using JavaScript to detect panel elements, add click handlers to toggle their collapsed/expanded state, and save the state of each panel to a cookie so that it persists across page loads. The code provided accomplishes this by getting header elements, toggling class names to change appearance, and saving an object with panel states to a cookie on toggle, then loading that object from the cookie on page load.
Presentation about Windows Presentation Foundation - that appeared in the .NET Framework 3.0. The technology gives us ability to create outstanding UI for our applications.
I gave that lecture for IT Academic Days at my University.
Web components are coming! This presentation gives you a solid intro on web components and why they are the future of the web. After an introduction to the tools and concepts you will see hands-on how easy it is to develop modular web apps with Polymer and Vaadin Components.
Week 05 Web, App and Javascript_Brandon, S.H. WuAppUniverz Org
The document discusses JavaScript basics and modular JavaScript design. It provides an agenda that covers JavaScript execution, scopes, types, browser objects, blocks, closures, DOM, event handling, and AJAX. It then discusses object-oriented JavaScript, components, containers, layouts, and client-side MVC patterns for modular JavaScript design. Examples of leveraging standards like HTML, CSS, and JavaScript across devices are also provided.
This document provides an overview and introduction to using Backbone.js for building JavaScript applications within WordPress. It discusses the basics of Backbone including models, collections, views and routing. It then walks through an example plugin that uses Backbone to manage WordPress post titles and status in an admin panel. Key files and functions are explained, showing how models, collections and views are defined and tied together to populate and update the data.
The document discusses using Voyager, a Flutter library, to implement requirements as code and dependency injection in navigation. It describes using a YAML configuration file to define routes and plugins to provide configuration values like widgets and icons. Widgets can access configuration through a Voyager provider. Code generation is used to generate Dart code from the YAML for strong typed routes and testing scenarios.
TinyMCE is a WYSIWYG HTML editor that can be easily embedded into web pages. It allows editing content directly in the browser and includes features like plugins, themes, and customization options. The document provides instructions on how to initialize TinyMCE, manipulate content programmatically, handle loading and saving, configure options, and create custom plugins.
Miha Lesjak Mobilizing The Web with Web RuntimeNokiaAppForum
The document discusses how to develop mobile applications using Nokia Web Runtime (WRT) widgets, which allow reusing existing web development knowledge. WRT widgets are lightweight mobile applications that provide customized access to web resources. They can be created using HTML, CSS, JavaScript and accessed like native applications. The document outlines key aspects of developing WRT widgets like info.plist, HTML, CSS, JavaScript, utilizing platform services and home screen integration. It emphasizes that WRT is a viable option for mobile development as it offers performance, a shallow learning curve and ability to reuse tools and processes from web development.
This document provides an overview of Swing and how to create Swing applications in Java. It discusses key Swing concepts like the MVC pattern and events. It also demonstrates how to create common Swing components like buttons, lists, combo boxes and menus using code examples. The document is intended as a tutorial for programmers to learn the basics of building graphical user interfaces (GUIs) with Swing.
This document discusses how to use the bbUI.js and Alice.js frameworks to create native-looking mobile web applications for BlackBerry devices. BbUI.js is a JavaScript framework that provides UI elements and screen management to create applications that follow BlackBerry UX guidelines. Alice.js is a visual effects library that adds hardware-accelerated animations and transitions. The document demonstrates how to initialize and use bbUI.js screens, controls, and screen navigation, and how to apply effects from Alice.js with just one line of code. It also outlines the goals and future directions of the two frameworks.
The document discusses adding iAd and Mobclix advertisements to a Core Data Books sample application from Apple. It provides code snippets for integrating the iAd and Mobclix frameworks, creating banner views, modifying views to accommodate banners, and implementing delegate methods to handle loading and displaying ads. It also covers strategies for prioritizing iAd over Mobclix and handling ad display in landscape orientation.
This document provides instructions for getting a Drupal website ready in 45 minutes by installing Drupal, selecting a theme, setting up basic website settings, blogs, forums, and comments. It outlines downloading and extracting Drupal, creating a database, enabling modules like blog and forum, configuring content types and permissions, and adding sample blog posts and forum topics. The goal is to have a functional website with blogs, forums, and commenting enabled in under an hour by following the provided steps.
ValueLabs - inspired by Potential - InsuranceSrikanth Mulle
ValueLabs provides consulting services to help clients implement the ACORD standards. They have deep knowledge of ACORD and tools to assess clients' applications and identify opportunities for standardization. Implementing ACORD can reduce integration costs and times while allowing clients to work globally and with any technology. ValueLabs' approach is structured, agile, and offshore-driven to provide scalable and cost-effective ACORD solutions.
Este documento describe las diferencias en la pronunciación de los sonidos /b/, /d/ y /g/ entre el inglés y el español. Explica que en inglés estos sonidos siempre se pronuncian como oclusivas, mientras que en español también pueden pronunciarse como fricativas. Señala que aunque el español tiene menos fonemas obstruyentes sonoros, tiene más alófonos o formas de pronunciarlos. Por ejemplo, después de una consonante nasal o pausa, /b/, /d/ y /g/ se
This lesson introduces the unit on occupations. It discusses factors to consider when choosing a job such as salary, hours, safety, and interests. Students rank these factors and discuss their choices. The lesson provides vocabulary to describe jobs and the skills and interests suited for different occupations. Students use this vocabulary to analyze various jobs. The lesson defines key words related to occupations.
Este documento presenta la guía de aprendizaje N° 2 para el área de humanidades, asignatura de inglés para el grado 9 durante el segundo periodo. La guía cubre temas relacionados con el tiempo continuo en inglés y vocabulario sobre deportes y comidas. Los estudiantes aprenderán a describir situaciones presentes y pasadas y aplicar verbos en los tiempos continuo presente y pasado a través de actividades como evaluaciones, trabajos, diálogos y composiciones. Serán evaluados en su conocimiento, habilidades y comportamiento.
Viewpoints is a series of English textbooks used in high schools. The main purpose is to introduce students to English and its culture through a variety of activities and projects. The activities are intended to engage students' real lives and expectations. The series also aims to expose learners to different topics through which they can learn English, such as social studies, science, and popular culture. Furthermore, Viewpoints promotes discussions about values and provides students with tools to apply in their school and adult lives. Each book contains six units that develop language skills like listening, speaking, reading and writing through vocabulary, grammar, and cultural activities.
The document provides an overview of various widgets available in Google Web Toolkit (GWT) for building user interfaces. It discusses static widgets like Label and Image, form widgets like Button, Checkbox and TextBox, and complex widgets like ListBox and SuggestBox. Code samples are given to demonstrate how to create and style these widgets using Java and Cascading Style Sheets (CSS). The document also explains concepts like event handling in GWT and working with the entry point class.
A custom web control is a control that inherits from a WebServer control and can be compiled into a .dll file and shared among applications. There are two approaches to creating one - inheriting directly from the WebControl class or inheriting from an existing control. A composite control contains other controls and handles their events.
The document provides instructions for a Google Wave workshop on building interactive gadgets and robots. The workshop covers getting started with Google Wave, downloading necessary files, building a simple voting gadget to demonstrate core gadget functionality, and building an interactive robot using the Google App Engine and Wave Robot API. Attendees will learn how to add external CSS and JavaScript, store and retrieve state data, and set callback functions to update gadgets in real-time in response to events.
The document describes how to add a view template in ASP.NET MVC to cleanly encapsulate generating HTML responses. It discusses creating a view template using Razor, passing data from a controller to a view using ViewBag, and using a layout template to apply shared HTML across multiple views. The controller action returns a ViewResult to use the view template, and data can be passed to the view to generate dynamic responses.
Presentation about Windows Presentation Foundation - that appeared in the .NET Framework 3.0. The technology gives us ability to create outstanding UI for our applications.
I gave that lecture for IT Academic Days at my University.
Web components are coming! This presentation gives you a solid intro on web components and why they are the future of the web. After an introduction to the tools and concepts you will see hands-on how easy it is to develop modular web apps with Polymer and Vaadin Components.
Week 05 Web, App and Javascript_Brandon, S.H. WuAppUniverz Org
The document discusses JavaScript basics and modular JavaScript design. It provides an agenda that covers JavaScript execution, scopes, types, browser objects, blocks, closures, DOM, event handling, and AJAX. It then discusses object-oriented JavaScript, components, containers, layouts, and client-side MVC patterns for modular JavaScript design. Examples of leveraging standards like HTML, CSS, and JavaScript across devices are also provided.
This document provides an overview and introduction to using Backbone.js for building JavaScript applications within WordPress. It discusses the basics of Backbone including models, collections, views and routing. It then walks through an example plugin that uses Backbone to manage WordPress post titles and status in an admin panel. Key files and functions are explained, showing how models, collections and views are defined and tied together to populate and update the data.
The document discusses using Voyager, a Flutter library, to implement requirements as code and dependency injection in navigation. It describes using a YAML configuration file to define routes and plugins to provide configuration values like widgets and icons. Widgets can access configuration through a Voyager provider. Code generation is used to generate Dart code from the YAML for strong typed routes and testing scenarios.
TinyMCE is a WYSIWYG HTML editor that can be easily embedded into web pages. It allows editing content directly in the browser and includes features like plugins, themes, and customization options. The document provides instructions on how to initialize TinyMCE, manipulate content programmatically, handle loading and saving, configure options, and create custom plugins.
Miha Lesjak Mobilizing The Web with Web RuntimeNokiaAppForum
The document discusses how to develop mobile applications using Nokia Web Runtime (WRT) widgets, which allow reusing existing web development knowledge. WRT widgets are lightweight mobile applications that provide customized access to web resources. They can be created using HTML, CSS, JavaScript and accessed like native applications. The document outlines key aspects of developing WRT widgets like info.plist, HTML, CSS, JavaScript, utilizing platform services and home screen integration. It emphasizes that WRT is a viable option for mobile development as it offers performance, a shallow learning curve and ability to reuse tools and processes from web development.
This document provides an overview of Swing and how to create Swing applications in Java. It discusses key Swing concepts like the MVC pattern and events. It also demonstrates how to create common Swing components like buttons, lists, combo boxes and menus using code examples. The document is intended as a tutorial for programmers to learn the basics of building graphical user interfaces (GUIs) with Swing.
This document discusses how to use the bbUI.js and Alice.js frameworks to create native-looking mobile web applications for BlackBerry devices. BbUI.js is a JavaScript framework that provides UI elements and screen management to create applications that follow BlackBerry UX guidelines. Alice.js is a visual effects library that adds hardware-accelerated animations and transitions. The document demonstrates how to initialize and use bbUI.js screens, controls, and screen navigation, and how to apply effects from Alice.js with just one line of code. It also outlines the goals and future directions of the two frameworks.
The document discusses adding iAd and Mobclix advertisements to a Core Data Books sample application from Apple. It provides code snippets for integrating the iAd and Mobclix frameworks, creating banner views, modifying views to accommodate banners, and implementing delegate methods to handle loading and displaying ads. It also covers strategies for prioritizing iAd over Mobclix and handling ad display in landscape orientation.
This document provides instructions for getting a Drupal website ready in 45 minutes by installing Drupal, selecting a theme, setting up basic website settings, blogs, forums, and comments. It outlines downloading and extracting Drupal, creating a database, enabling modules like blog and forum, configuring content types and permissions, and adding sample blog posts and forum topics. The goal is to have a functional website with blogs, forums, and commenting enabled in under an hour by following the provided steps.
ValueLabs - inspired by Potential - InsuranceSrikanth Mulle
ValueLabs provides consulting services to help clients implement the ACORD standards. They have deep knowledge of ACORD and tools to assess clients' applications and identify opportunities for standardization. Implementing ACORD can reduce integration costs and times while allowing clients to work globally and with any technology. ValueLabs' approach is structured, agile, and offshore-driven to provide scalable and cost-effective ACORD solutions.
Este documento describe las diferencias en la pronunciación de los sonidos /b/, /d/ y /g/ entre el inglés y el español. Explica que en inglés estos sonidos siempre se pronuncian como oclusivas, mientras que en español también pueden pronunciarse como fricativas. Señala que aunque el español tiene menos fonemas obstruyentes sonoros, tiene más alófonos o formas de pronunciarlos. Por ejemplo, después de una consonante nasal o pausa, /b/, /d/ y /g/ se
This lesson introduces the unit on occupations. It discusses factors to consider when choosing a job such as salary, hours, safety, and interests. Students rank these factors and discuss their choices. The lesson provides vocabulary to describe jobs and the skills and interests suited for different occupations. Students use this vocabulary to analyze various jobs. The lesson defines key words related to occupations.
Este documento presenta la guía de aprendizaje N° 2 para el área de humanidades, asignatura de inglés para el grado 9 durante el segundo periodo. La guía cubre temas relacionados con el tiempo continuo en inglés y vocabulario sobre deportes y comidas. Los estudiantes aprenderán a describir situaciones presentes y pasadas y aplicar verbos en los tiempos continuo presente y pasado a través de actividades como evaluaciones, trabajos, diálogos y composiciones. Serán evaluados en su conocimiento, habilidades y comportamiento.
Viewpoints is a series of English textbooks used in high schools. The main purpose is to introduce students to English and its culture through a variety of activities and projects. The activities are intended to engage students' real lives and expectations. The series also aims to expose learners to different topics through which they can learn English, such as social studies, science, and popular culture. Furthermore, Viewpoints promotes discussions about values and provides students with tools to apply in their school and adult lives. Each book contains six units that develop language skills like listening, speaking, reading and writing through vocabulary, grammar, and cultural activities.
The document provides an overview of various widgets available in Google Web Toolkit (GWT) for building user interfaces. It discusses static widgets like Label and Image, form widgets like Button, Checkbox and TextBox, and complex widgets like ListBox and SuggestBox. Code samples are given to demonstrate how to create and style these widgets using Java and Cascading Style Sheets (CSS). The document also explains concepts like event handling in GWT and working with the entry point class.
A custom web control is a control that inherits from a WebServer control and can be compiled into a .dll file and shared among applications. There are two approaches to creating one - inheriting directly from the WebControl class or inheriting from an existing control. A composite control contains other controls and handles their events.
The document provides instructions for a Google Wave workshop on building interactive gadgets and robots. The workshop covers getting started with Google Wave, downloading necessary files, building a simple voting gadget to demonstrate core gadget functionality, and building an interactive robot using the Google App Engine and Wave Robot API. Attendees will learn how to add external CSS and JavaScript, store and retrieve state data, and set callback functions to update gadgets in real-time in response to events.
The document describes how to add a view template in ASP.NET MVC to cleanly encapsulate generating HTML responses. It discusses creating a view template using Razor, passing data from a controller to a view using ViewBag, and using a layout template to apply shared HTML across multiple views. The controller action returns a ViewResult to use the view template, and data can be passed to the view to generate dynamic responses.
NextCMS provides a visual, easy-to-use tool to edit, customize the layout of page.
- Splitting the page into containers
- Dragging and dropping widgets to the containers. You can move the widgets between containers
- Setting CSS class or CSS styles to any containers, widgets
- Applying filters to the main content pane or widgets to modify their output
- Allowing cache any widgets on page
The battle between the states (all about flutter stateless & stateful widgets...Katy Slemon
Know all about Flutter's Stateless and Stateful widgets, and the BLoC architecture to manage their states from the top Flutter App Development Company.
This document provides a tutorial on creating a custom widget in Rational Host Access Transformation Services (HATS). It describes how to create a custom HTML widget that renders an input field and button. The widget is designed to allow adding a button next to an input field to send a mnemonic keyword for a specific purpose, with the button name and keyword configurable via global variables or direct input. The tutorial covers creating the widget Java class, implementing its settings UI and drawHTML() method to generate the HTML output, and provides an example usage transforming an iSeries screen.
This document provides an overview of Google Web Toolkit (GWT), including its architecture, key features, and how to implement common tasks. GWT is a development toolkit that allows web applications to be written in Java and compiled into JavaScript for better cross-browser compatibility. It discusses topics like building user interfaces with widgets, event handling, styling with CSS, making remote procedure calls, and accessing native JavaScript methods. Examples and demos are provided to illustrate concepts like creating custom widgets, handling events, and making asynchronous server calls. Resources for learning more about GWT are also listed.
Drupal is a CMS to build website.
For absolute beginners, the existing documentation can seem overwhelming.
This presentation demonstrates Drupal based on 3 websites.
The first website uses Drupal in a very simple, standard way. It is used to explain the concepts behind users, nodes and blocks.
The second website adds ckk & views and illustrates how to build a photo album with these modules.
The third website uses only custom content types combining different views with the pages module. It also uses 100% custom CSS, deviating from the "boxy" look of most drupal sites.
The goal of the presentation is to give an insight in how Drupal works and what it can do for you in 20 minutes.
This document describes how to rapidly develop a web application using ASP.NET MVC 3 in Microsoft Visual Studio 2010. It outlines how to create a new project, add models, contexts, controllers with CRUD functionality, and use HTML helpers and dynamic templates to simplify development. MVC 3 enables full control over HTML while separating concerns, and allows both basic and complex applications to be built quickly through its RAD elements integrated into Visual Studio.
Step by step guide for creating wordpress pluginMainak Goswami
This document provides a step-by-step guide for creating a simple WordPress plugin called "Simple Stylish Tables" that allows users to style HTML tables. The steps include: 1) Creating a plugin directory and main PHP file, 2) Adding CSS styling in a stylesheet, 3) Adding header metadata, 4) Hooking the plugin into WordPress using actions, 5) Registering and enqueuing the stylesheet, and 6) Installing and using the plugin to style tables with a custom class.
Code Driven Development Zaporozhye DrupalForumYuriy Gerasimov
This document discusses using code-driven development for a Drupal site by:
1) Installing modules and settings as features to version control the site configuration.
2) Managing the site workflow through a controller module and hook updates.
3) Using Drush commands to push settings between environments like reverting features to the database or updating from the database.
ASP.NET 2.0 introduces a new page inheritance model using partial classes, improved deployment options like precompilation, and features for consistent user interfaces like master pages and themes. It also provides various controls and techniques to simplify coding tasks and personalize web pages.
Creating, debugging and deploying extension packages for Microsoft Visual Stu...PVS-Studio
This article contains the overview of several different methods for extending Visual Studio IDE. The creation, debugging, registration and end-user deployment of Visual Studio extension packages will be explained in detail.
Presentation about the native browser way for building web components. We look at examples and the pros and cons of doing it natively and using a library. At the end we look at the Angular way of wrapping custom components into Custom Elements.
This paper’s aim is to point out the RAD ( Rapid application development) elements present in the Microsoft’s MVC 3 and WCF 4.0 using Microsoft Visual Studio 2010. It will describe why creating a new web application using MVC 3 and WCF 4.0 is a easy and fast and also present simple ways to develop such applications.
Angular - Chapter 4 - Data and Event HandlingWebStackAcademy
The document provides information about Angular data binding and event handling. It discusses how interpolation can be used to connect data from a component class to its template. It also explains how property binding and event binding allow two-way communication between the component class and template. Finally, it introduces ngModel for setting up two-way data binding between an input element and a property.
This document provides an agenda and slides for a FEWD (Front End Web Development) class. It discusses the CSS box model, nested selectors, HTML templates, and starting the Relaxr landing page assignment. Key points include:
- The CSS box model consists of margins, borders, padding, and content
- Nested selectors allow targeting elements within other elements
- Students are instructed to create a GitHub repository and commit their weekly work
- Layout techniques like floats and HTML5 structural elements are reviewed to help structure the Relaxr assignment pages
Building RAG with self-deployed Milvus vector database and Snowpark Container...Zilliz
This talk will give hands-on advice on building RAG applications with an open-source Milvus database deployed as a docker container. We will also introduce the integration of Milvus with Snowpark Container Services.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2024/06/building-and-scaling-ai-applications-with-the-nx-ai-manager-a-presentation-from-network-optix/
Robin van Emden, Senior Director of Data Science at Network Optix, presents the “Building and Scaling AI Applications with the Nx AI Manager,” tutorial at the May 2024 Embedded Vision Summit.
In this presentation, van Emden covers the basics of scaling edge AI solutions using the Nx tool kit. He emphasizes the process of developing AI models and deploying them globally. He also showcases the conversion of AI models and the creation of effective edge AI pipelines, with a focus on pre-processing, model conversion, selecting the appropriate inference engine for the target hardware and post-processing.
van Emden shows how Nx can simplify the developer’s life and facilitate a rapid transition from concept to production-ready applications.He provides valuable insights into developing scalable and efficient edge AI solutions, with a strong focus on practical implementation.
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIVladimir Iglovikov, Ph.D.
Presented by Vladimir Iglovikov:
- https://www.linkedin.com/in/iglovikov/
- https://x.com/viglovikov
- https://www.instagram.com/ternaus/
This presentation delves into the journey of Albumentations.ai, a highly successful open-source library for data augmentation.
Created out of a necessity for superior performance in Kaggle competitions, Albumentations has grown to become a widely used tool among data scientists and machine learning practitioners.
This case study covers various aspects, including:
People: The contributors and community that have supported Albumentations.
Metrics: The success indicators such as downloads, daily active users, GitHub stars, and financial contributions.
Challenges: The hurdles in monetizing open-source projects and measuring user engagement.
Development Practices: Best practices for creating, maintaining, and scaling open-source libraries, including code hygiene, CI/CD, and fast iteration.
Community Building: Strategies for making adoption easy, iterating quickly, and fostering a vibrant, engaged community.
Marketing: Both online and offline marketing tactics, focusing on real, impactful interactions and collaborations.
Mental Health: Maintaining balance and not feeling pressured by user demands.
Key insights include the importance of automation, making the adoption process seamless, and leveraging offline interactions for marketing. The presentation also emphasizes the need for continuous small improvements and building a friendly, inclusive community that contributes to the project's growth.
Vladimir Iglovikov brings his extensive experience as a Kaggle Grandmaster, ex-Staff ML Engineer at Lyft, sharing valuable lessons and practical advice for anyone looking to enhance the adoption of their open-source projects.
Explore more about Albumentations and join the community at:
GitHub: https://github.com/albumentations-team/albumentations
Website: https://albumentations.ai/
LinkedIn: https://www.linkedin.com/company/100504475
Twitter: https://x.com/albumentations
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
“An Outlook of the Ongoing and Future Relationship between Blockchain Technologies and Process-aware Information Systems.” Invited talk at the joint workshop on Blockchain for Information Systems (BC4IS) and Blockchain for Trusted Data Sharing (B4TDS), co-located with with the 36th International Conference on Advanced Information Systems Engineering (CAiSE), 3 June 2024, Limassol, Cyprus.
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
How to Get CNIC Information System with Paksim Ga.pptxdanishmna97
Pakdata Cf is a groundbreaking system designed to streamline and facilitate access to CNIC information. This innovative platform leverages advanced technology to provide users with efficient and secure access to their CNIC details.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc
How does your privacy program stack up against your peers? What challenges are privacy teams tackling and prioritizing in 2024?
In the fifth annual Global Privacy Benchmarks Survey, we asked over 1,800 global privacy professionals and business executives to share their perspectives on the current state of privacy inside and outside of their organizations. This year’s report focused on emerging areas of importance for privacy and compliance professionals, including considerations and implications of Artificial Intelligence (AI) technologies, building brand trust, and different approaches for achieving higher privacy competence scores.
See how organizational priorities and strategic approaches to data security and privacy are evolving around the globe.
This webinar will review:
- The top 10 privacy insights from the fifth annual Global Privacy Benchmarks Survey
- The top challenges for privacy leaders, practitioners, and organizations in 2024
- Key themes to consider in developing and maintaining your privacy program
Full-RAG: A modern architecture for hyper-personalizationZilliz
Mike Del Balso, CEO & Co-Founder at Tecton, presents "Full RAG," a novel approach to AI recommendation systems, aiming to push beyond the limitations of traditional models through a deep integration of contextual insights and real-time data, leveraging the Retrieval-Augmented Generation architecture. This talk will outline Full RAG's potential to significantly enhance personalization, address engineering challenges such as data management and model training, and introduce data enrichment with reranking as a key solution. Attendees will gain crucial insights into the importance of hyperpersonalization in AI, the capabilities of Full RAG for advanced personalization, and strategies for managing complex data integrations for deploying cutting-edge AI solutions.
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
A tale of scale & speed: How the US Navy is enabling software delivery from l...
GWT training session 2
1. GWT Training – Session II
Client-Side Implementation
Snehal Masne
www.TechProceed.com
2. Contents
The User Interface
Static widgets
Form widgets
Complex widgets
Panels
This are slides are based from the book “Google Web Toolkit Applications” by Ryan Desbury, 2008, Pearson Education
www.TechProceed.com
3. The User Interface
GWT contains classes for building dynamic
re-usable components (called widgets) based
upon web browser's user interface features
The user interface framework is similar to
Java AWT/Swing
For the purpose of this tutorial, we divide the
different types of widgets into four categories
– Static widgets, form widgets, complex
widgets and panels
www.TechProceed.com
5. Static Widgets
They do not have any internal state or
change dynamically on their own
Can be part of a dynamic user interface in
which the user interface code can change
their properties and location at runtime, but
not as a result of user actions
Includes
Label
HTML
Image
Hyperlink
www.TechProceed.com
6. The Entry-Point Class
Before we start building our user interface, we need to understand the EntryPoint Class
Think of this class as the main class of your application with the java main()
method that the JVM invokes first
The Entry-Point class contains onModuleLoad() method which is the method that
the GWT compiler calls first
The class implements com.google.gwt.core.client.EntryPoint interface
For the GWTTraining project, GWTTraining.java is the Entry-Point class (which
is defined in the application's GWT configuration file)
import com.google.gwt.core.client.EntryPoint
public class GWTTraining implements EntryPoint {
public void onModuleLoad() {
//your initial code goes here
}
}
www.TechProceed.com
7. Label
A widget that contains arbitrary text, not interpreted as HTML. This widget uses a <div> element,
causing it to be displayed with block layout
Open the GWTTraining project in Eclipse
Create a new Entry Point class called GWTTrainingWidget under File > New. We would use this entry
class for our widgets tutorial.
In the GWTTraining.gwt.xml configuration file, delete the entry-point definition for
my.utm.kase.gettraining.client.GWTTraining. We only want to display the GWTTrainingWidgets entrypoint when we run the applicaiton.
Also edit the GWTTraining.html and delete the contents of the <body> tag so that we start from an
empty page.
Add the following import statements
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.RootPanel;
Add the following code in the onModuleLoad() method
Label label = new Label("Welcome to CASE, UTM");
RootPanel.get().add(label);
The code creates a new label widget and adds it to the root panel
Asimpletext“WelcometoCASE,UTM”isdisplayedwhenyouruntheapplication.
www.TechProceed.com
8. Label – Embellishing with CSS
A great feature of GWT is letting you to achieve great presentations using CSS
GWT widgets have default CSS names that let you set their style
The label widget CSS is .gwt-Label { }
Add the following to the /war/GWTTraining.css to change the appearance of the
label widget:
.gwt-Label{
background-color:silver;
color:green;
text-align-center;
border-style:groove;
border-width:thick;
border-color:navy;
}
www.TechProceed.com
9. Label – Embellishing with CSS
If you use the default GWT CSS names for the widgets, all widgets of the same
class are affected.
To demonstrate this, let's create another label widget by adding the following
code in the GWTTrainingWidgets.java file:
Label label2 = new Label("Where Advanced Learning Begins");
RootPanel.get().add(label2);
label2 also has the same appearance as the first label because it also inherits from .gwtLabel CSS name.
www.TechProceed.com
10. Label – Embellishing with CSS
We can apply a different style for a particular label instead of the general class definition
To demonstrate that add the following custom CSS definition in GWTTraining.css
.label2 {
background-color:orange;
border-style:ridge;
border-width:thick;
border-color:navy;
}
Add the following code to set the style to label2 (before adding it to the root panel:
label2.setStylePrimaryName("label2");
When you refresh the browser you will see that label2 now has its own customized style.
Styling with CSS is the same for all the other widgets in GWT. The default style names of
the widgets can be found in the GWT API Java documentation.
Info: CSS is a very powerful language that gives the web great look and feel. Because it is separated from the content (usually
HTML), customizing the pages becomes very flexible. For further reading you may want to check: The Ultimate CSS
reference
www.TechProceed.com
12. HTML Widget
Used for rendering HTML
Add the following codes to GWTTrainingWidgets.java
RootPanel.get().add(new HTML("<hr/>"));
//add a horizontal line break
RootPanel.get().add(new HTML("<b>CASE in bold</>")); //add bold text
RootPanel.get().add(new HTML("<a href='http://www.case.utm.my'>Find
more about CASE</a>"));
RootPanel.get().add(new HTML("<hr/>"));
//add a horizontal line break
Add import statement for com.google.gwt.user.client.ui.HTML
Refresh the browser to view the changes
The HTML widget can be customized using CSS just like the Label widget. The default CSS
name is .gwt-HTML
www.TechProceed.com
13. The Image Widget
Accepts a URL pointing to an image file and renders it
Create images folder: /war/gwttraining/images.
Add case_logo.jpg to the folder which is provided in the training resources CD
Add the following code:
String url = GWT.getModuleBaseURL() + "images/case_logo.jpg";
Image image = new Image(url);
RootPanel.get().add(image);
CSS default style name is .gwt-Image
www.TechProceed.com
14. The Image Widget
Add the following code to display image from an external server:
RootPanel.get().add(new
Image("http://www.case.utm.my/v2/images/intro_pic/case_intro_pic_1%20copy.g
if"));
The following output should be displayed when the browser is refreshed
www.TechProceed.com
15. The Form Widgets
Widgets typically used with HTML forms
Unlike traditional HTML forms, data is submitted to the server asynchrnously
without refreshing the page
GET form widgets can be used in ways similar to desktop applications and not
necessarily inside a HTML form
The widgets include:
Button, CheckBox, RadioButton, ListBox, TextBox
PasswordTextBox, TextArea, FileUpload, Hiddein
ToggleButton, PushButton, SuggestBox and RichTextArea
www.TechProceed.com
16. The Button Widget
WrapstheHTMLforminputwiththetypebutton<(inputtype=”button”>)
Can be used to invoke any action in the application
To see the Button widget in action add the following code:
Button alertButton = new Button("Alert"); //create the button
alertButton.addClickHandler( new ClickHandler() { //handle event
@Override
public void onClick(ClickEvent event) {
//handle button event here
Window.alert("Alert button clicked!");
}
});
//add alertButton to root widget
RootPanel.get().add(new HTML("<hr/>"));
//add a horizontal line
RootPanel.get().add(alertButton);
//add button to root panel
Just like other GWT widgets, the Button widget events are handled using the Observer pattern
The observer (Event handler) observes the state of the subject (the user interface, e.g Button).
Whenthesubject’sstatechanges,theobserverisnotified.
The default CSS name is .gwt-Button
www.TechProceed.com
17. ToggleButton and PushButton
Widget
Both similar to Button widget
When ToggleButton is clicked it remains in a 'pressed state' until clicked again
A PushButton supports customization of its look based on its state
//toggle and push buttons
ToggleButton toggleButton = new ToggleButton("Toggle me");
PushButton pushButton = new PushButton("I'm a push button");
pushButton.setSize("150", "40");
RootPanel.get().add(toggleButton);
RootPanel.get().add(pushButton);
Youcansetsomewidgetproperties“programmatically”withoutusingCSS
definition just as is done above in setting the size of the PushButton. However
using CSS is the most recommended because it separates the presentation from
the Java code which improves flexibility and maintainability.
www.TechProceed.com
18. Button Widgets with Images
You may create buttons (Button, ToggleButton or PushButton) with images instead of
text captions
ToggleButton can be created with two images so that they can be represented in
pressed and released states.
ToggleButton imgToggleButton = new ToggleButton(
new Image(GWT.getModuleBaseURL() + "images/h_toggle.jpg"),
new Image(GWT.getModuleBaseURL() + "images/v_toggle.jpg")
);
imgToggleButton.setSize("60", "60");
RootPanel.get().add(new HTML("<hr/>"));
//add a horizontal line
RootPanel.get().add(imgToggleButton);
//add imgToggleButton to
//root panel
Copy the h_toggle.jpg and v_toggle.jpg to /war/gwttraining/images
Released State
Pressed State
www.TechProceed.com
19. Styling Button States with Css
You can use CSS to generate different styles for ToggleButton and PushButton
based on their states
The default names for the states are shown in table below:
www.TechProceed.com
21. Checkbox Widget - Code
Sample
//checkbox widget
final CheckBox checkBox = new CheckBox("Do u love GWT?");
checkBox.addClickHandler( new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
//handle event
if( checkBox.getValue() ) {
Window.lert("Yeah, welcome to the world of GWT");
}
else {
Window.alert("Sorry, u are missing a lot. U gotta think again");
}
}
});
RootPanel.get().add(new HTML("<hr/>"));
RootPanel.get().add(checkBox);
//add a horizontal break line
www.TechProceed.com
25. ListBox Widget
A group of options in a form of list in which
only one option can be selected
Two forms:
Normal list
Drop down list
www.TechProceed.com
26. ListBox Widget – Sample Code
final ListBox colorList = new ListBox();
colorList.addItem("Red");
colorList.addItem("Orange");
colorList.addItem("Green");
colorList.addChangeHandler( new ChangeHandler() {
@Override
public void onChange(ChangeEvent event) {
if( colorList.getSelectedIndex() == 0 ) {
label3.setStylePrimaryName("red");
redButton.setValue(true);
}
else if( colorList.getSelectedIndex() == 1 ) {
label3.setStylePrimaryName("orange");
orangeButton.setValue(true);
}
else {
label3.setStylePrimaryName("green");
greenButton.setValue(true);
}
}
});
RootPanel.get().add(new HTML("<hr/>")); //add a horizontal break line
RootPanel.get().add(colorList);
www.TechProceed.com
27. ListBox Sample Code – cont'd
The previous code displays the drop down
format of the ListBox
Use the following code to change to the
normal format:
//change the list box format
colorList.setVisibleItemCount(3);
www.TechProceed.com
28. SuggestBox Widget
A text box with drop-down suggestions based
on the word that you type
Usually used when the list of items are too
much to be displayed at a time
E.g. Google Suggest
Uses SuggestOracle instance to plug in
dynamic results from datasource on the
server
MultiWordSuggestOracle can be used if the
suggest list is generated at the client side
www.TechProceed.com
29. SuggestBox – Sample Code
//SuggestBox
String suggestString = "The Faculty of Computer Science and Information "
+ "Systems, UTM provides specialist teaching and conducts research "
+ "in fundamental and applied computer science, software "
+ "engineering, artificial intelligence and cognitive science. "
+ "We are proud to deliver outstanding undergraduate and "
+ "postgraduate education that offers varied and exciting "
+ "career opportunities around the world.";
String words[] = suggestString.split(" ");
MultiWordSuggestOracle suggestOracle = new MultiWordSuggestOracle();
suggestOracle.addAll(Arrays.asList(words));
SuggestBox suggestBox = new SuggestBox(suggestOracle);
RootPanel.get().add(new HTML("<hr/>"));
RootPanel.get().add(suggestBox);
//add a horizontal break line
CSS Styles
.gwt-SuggestBox {}
.gwt-SuggestBoxPopup { border: 2px solid #C3D9FF; background-color:#E8EEF7; }
.gwt-SuggestBoxPopup .item { }
.gwt-SuggestBoxPopup .item-selected { background-color:#C3D9FF;}
www.TechProceed.com
30. TextBox Widget
EncapsulatesHTML’sinputtagwithtypeinput<(inputtype=”input”>)
Typically used for capturing small text input from user
//TextBox widget
final TextBox emailBox = new TextBox();
emailBox.setText("<Enter your email>");
emailBox.setStylePrimaryName("emailBox-blank");
//add focus gain handler
emailBox.addFocusHandler( new FocusHandler() {
@Override
public void onFocus(FocusEvent event) {
String emailText = emailBox.getText();
if( emailText.equals("<Enter your email>")) {
emailBox.setText("");
}
emailBox.removeStyleName("emailBox-blank");
}
});
www.TechProceed.com
31. TextBox Widget – cont'd
//add focus lost handler
emailBox.addFocusListener(new FocusListenerAdapter() {
public void onLostFocus(Widget sender) {
String emailText = emailBox.getText();
if( emailText.equals("")) {
emailBox.setStylePrimaryName("emailBox-blank");
emailBox.setText("<Enter your email>");
}
}
});
RootPanel.get().add(new HTML("<hr/>"));
RootPanel.get().add(emailBox);
//add a horizontal break line
www.TechProceed.com
32. PasswordTextBox Widget
Similar to TextBox but its contents are hidden
to protect sensitive data
//PasswordTextBox widget
PasswordTextBox passwordBox = new PasswordTextBox();
RootPanel.get().add(new HTML("<hr/>"));
RootPanel.get().add(passwordBox);
www.TechProceed.com
33. TextArea Widget
Similar to TextBox but contents can span
multiple pages
//TextArea widget
TextArea textArea = new TextArea();
textArea.setCharacterWidth(80);
textArea.setVisibleLines(10);
RootPanel.get().add(new HTML("<hr/>"));
RootPanel.get().add( textArea );
www.TechProceed.com
34. FileUpload Widget
EncapsulatesHTML’sinputtagwithitstype
attribute set to file (<input type='file'>)
Allows users to select a file from their local
file system, usually to be uploaded to the
server
//FileUpload widget
FileUpload fileUpload = new FileUpload();
RootPanel.get().add(new HTML("<hr/>"));
RootPanel.get().add( fileUpload );
www.TechProceed.com
36. Complex Widgets
User interface widgets in web pages that do
not have HTML tag equivalents.
They are created by compositing HTML tags
together and handling user events through
JavaScript to emulate more
sophisticated widgets.
GWT has some complex widgets in its library
Advanced custom widgets can also be built
with GWT
www.TechProceed.com
37. Tree Widget
Displays a hierarchical view of data that can
be expanded and collapsed similar to tree
widgets in desktop applications typically
You can add simple text or widgets as
children of the tree
The TreeItem widget can be used to achieve
several levels of hierarchy
www.TechProceed.com
39. MenuBar Widget
Similar to menu bars on desktop applications
Displays list of menus to be selected
//MenuBar widget
MenuBar lecturerMenu = new MenuBar(true); //orient vertically
lecturerMenu.addItem("Save Records" , new Command() {
public void execute() {
Window.alert("Saved");
}
});
MenuBar studentMenu = new MenuBar(true); //orient vertically
studentMenu.addItem("Register" , new Command() {
public void execute() {
//add register event
}
});
www.TechProceed.com
40. MenuBar Widget – cont'd
studentMenu.addItem("View Records" , new Command() {
public void execute() {
//view records event
}
});
MenuBar menu = new MenuBar();
menu.addItem("Lecturer", lecturerMenu);
menu.addItem("Student", studentMenu);
RootPanel.get().add(menu, 0, 0);
www.TechProceed.com
42. Simple Layout Panels
Panels are used to organize the layout of the
various widgets we have covered so far.
GWT has several layout widgets that provide
this functionality
The simple Layout Panels include:
FlowPanel
VerticalPanel
HorizontalPanel
www.TechProceed.com
43. FlowPanel
It functions like the HTML layout
Child widgets of the FlowPanel are displayed
horizontally and then wrapped to the next row
down when there is not enough horizontal room
left
//FlowPanel
FlowPanel flowPanel = new FlowPanel();
for( int i = 1; i <= 20; i++ ) {
flowPanel.add(new Button("Button " + String.valueOf(i)));
}
RootPanel.get().add(flowPanel);
www.TechProceed.com
44. FlowPanel – cont'd
If you run the code and resize the browser window
smaller, you will see that the child widgets (buttons)
are displaced to the next row when the space
becomes insufficient to display in one row
The result is opposite if you resize the window
bigger
www.TechProceed.com
45. HorizontalPanel and
VerticalPanel
HorizontalPanel is similar to FlowPanel but
uses scrollbar to display its widgets if there is
no enough room instead of displacing to the
next row
VerticalPanel organizes its child widgets in a
vertical orientation
www.TechProceed.com
47. FlexTable and Grid Widgets
Encapsulates HTML's table tag (<table />)
They display child widgets in a grid spanning
vertically and horizontally.
The Grid widget enforces an explicitly set
number of rows and cells for each row.
The FlexTable is more flexible, allowing cells
to be added as needed, rows to have a
variable number of cells, and cells to span
multiple rows or columns
www.TechProceed.com
48. FlexTable and Grid Widgets –
cont'd
//Grid
Grid grid = new Grid(3,3);
for( int i = 0; i < 3; i++) {
for( int j = 0; j < 3; j++ ) {
grid.setWidget(i,j,new Image(GWT.getModuleBaseURL() +
"images/tree2.jpg"));
}
}
//FlexTable
FlexTable flexTable = new FlexTable();
flexTable.setWidget(0,0, new HTML("Flex Table Widget"));
flexTable.getFlexCellFormatter().setColSpan(0, 0, 4);
for( int i = 0; i < 4; i++ ) {
flexTable.setWidget(1, i, new Image(GWT.getModuleBaseURL() +
"images/tree.jpeg"));
}
www.TechProceed.com
49. FlexTable and Grid Widgets –
cont'd
flexTable.setWidget(2,0, new Image(GWT.getModuleBaseURL() + "images/tree2.jpg"));
flexTable.setWidget(2,1, new Image(GWT.getModuleBaseURL() + "images/tree2.jpg"));
flexTable.getFlexCellFormatter().setColSpan(2, 0, 2);
flexTable.getFlexCellFormatter().setColSpan(2, 1, 2);
flexTable.setWidget(3, 0, new Image(GWT.getModuleBaseURL() +
"images/tree_big.png"));
flexTable.getFlexCellFormatter().setColSpan(3, 0, 4);
HorizontalSplitPanel hSplitPanel = new HorizontalSplitPanel();
hSplitPanel.setLeftWidget(flexTable);
hSplitPanel.setRightWidget(grid);
RootPanel.get().add(hSplitPanel);
www.TechProceed.com
50. Customizing the Widgets
HorizontalSplitPanel hSplitPanel = new HorizontalSplitPanel();
hSplitPanel.setLeftWidget(flexTable);
hSplitPanel.setRightWidget(grid);
RootPanel.get().add(hSplitPanel);
//vertical panel 2
VerticalPanel vPanel2 = new VerticalPanel();
vPanel2.add(rootTree);
vPanel2.add(flowPanel);
RootPanel.get().add(vPanel2);
www.TechProceed.com
51. Customizing the Widgets –
cont'd
//vertical panel 3
HorizontalPanel hPanel2 = new HorizontalPanel();
hPanel2.add(checkBox);
hPanel2.add(label3);
hPanel2.add(redButton);
hPanel2.add(orangeButton);
hPanel2.add(greenButton);
hPanel2.add(colorList);
VerticalPanel vPanel4 = new VerticalPanel();
vPanel4.add(textArea);
vPanel4.add(fileUpload);
RootPanel.get().add(vPanel4);
www.TechProceed.com
52. TabPanel
Displays just one of its child widgets at a time and provides controls to select the
child to display
//TabPanel
TabPanel tabPanel = new TabPanel();
tabPanel.add(vPanel2, "Buttons");
tabPanel.add(hPanel2, "Options");
tabPanel.add(vPanel4, "Text");
tabPanel.setSize("100%", "100%");
RootPanel.get().add(tabPanel);
www.TechProceed.com
54. This brings us to the end of the 2nd session of
the GWT Training. In the next session we
would learn how to establish communication
between the client and server.
Thank you
www.TechProceed.com