├── .gitignore ├── CHANGELOG.md ├── LICENSE.txt ├── README.md ├── doc └── name_conventions.txt ├── example ├── canvas │ ├── canvas.css │ ├── canvas.html │ └── canvas_example.dart ├── grid │ ├── grid.html │ └── grid_example.dart ├── hello │ ├── frame_test.html │ ├── hello.css │ ├── hello.html │ ├── ie.css │ ├── img │ │ ├── ajax-loader.gif │ │ ├── circles.png │ │ ├── circles_ie6.png │ │ ├── lights.png │ │ └── test.jpg │ ├── props │ │ └── LocalizableResource │ │ │ ├── ar.json │ │ │ ├── en.json │ │ │ ├── fr.json │ │ │ └── zh.json │ └── src │ │ └── hello.dart ├── history │ ├── history.css │ ├── history.dart │ ├── history.html │ └── img │ │ └── ajax-loader.gif ├── panels │ ├── img │ │ └── ajax-loader.gif │ ├── panels.css │ ├── panels.dart │ └── panels.html ├── tree │ ├── tree.html │ └── tree_example.dart ├── uibinder │ ├── img │ │ └── ajax-loader.gif │ ├── login_view.dart │ ├── uibinder.css │ ├── uibinder.dart │ └── uibinder.html └── validation │ ├── img │ └── ajax-loader.gif │ ├── validation.css │ ├── validation.dart │ └── validation.html ├── lib ├── activity.dart ├── animation.dart ├── core.dart ├── data.dart ├── editor.dart ├── event.dart ├── http.dart ├── i18n.dart ├── layout.dart ├── place.dart ├── resource.dart ├── resource │ ├── chrome │ │ ├── chrome.css │ │ ├── chrome_rtl.css │ │ └── images │ │ │ ├── corner.png │ │ │ ├── corner_ie6.png │ │ │ ├── hborder.png │ │ │ ├── hborder_ie6.png │ │ │ ├── ie6 │ │ │ ├── corner_dialog_topleft.png │ │ │ ├── corner_dialog_topright.png │ │ │ ├── hborder_blue_shadow.png │ │ │ ├── hborder_gray_shadow.png │ │ │ ├── vborder_blue_shadow.png │ │ │ └── vborder_gray_shadow.png │ │ │ ├── splitPanelThumb.png │ │ │ ├── vborder.png │ │ │ └── vborder_ie6.png │ ├── clean │ │ ├── clean.css │ │ ├── clean_rtl.css │ │ └── images │ │ │ ├── circles.png │ │ │ ├── circles_ie6.png │ │ │ ├── clear.gif │ │ │ ├── corner.png │ │ │ ├── corner_ie6.png │ │ │ ├── hborder.png │ │ │ ├── hborder_ie6.png │ │ │ ├── thumb_horz.png │ │ │ ├── thumb_vertical.png │ │ │ ├── vborder.png │ │ │ └── vborder_ie6.png │ ├── dark │ │ ├── dark.css │ │ ├── dark_rtl.css │ │ └── images │ │ │ ├── corner.png │ │ │ ├── corner_ie6.png │ │ │ ├── hborder.png │ │ │ ├── hborder_ie6.png │ │ │ ├── ie6 │ │ │ ├── corner_dialog_topleft.png │ │ │ ├── corner_dialog_topright.png │ │ │ ├── hborder_blue_shadow.png │ │ │ ├── hborder_gray_shadow.png │ │ │ ├── vborder_blue_shadow.png │ │ │ └── vborder_gray_shadow.png │ │ │ ├── splitPanelThumb.png │ │ │ ├── vborder.png │ │ │ └── vborder_ie6.png │ ├── images │ │ ├── clear.gif │ │ ├── disclosurePanelClosed.png │ │ ├── disclosurePanelClosed_rtl.png │ │ ├── disclosurePanelOpen.png │ │ ├── menuBarSubMenuIcon.gif │ │ ├── menuBarSubMenuIcon_rtl.gif │ │ ├── splitPanelThumb.png │ │ ├── treeClosed.gif │ │ ├── treeLeaf.gif │ │ └── treeOpen.gif │ └── standard │ │ ├── images │ │ ├── corner.png │ │ ├── corner_ie6.png │ │ ├── hborder.png │ │ ├── hborder_ie6.png │ │ ├── ie6 │ │ │ ├── corner_dialog_topleft.png │ │ │ ├── corner_dialog_topright.png │ │ │ ├── hborder_blue_shadow.png │ │ │ ├── hborder_gray_shadow.png │ │ │ ├── vborder_blue_shadow.png │ │ │ └── vborder_gray_shadow.png │ │ ├── splitPanelThumb.png │ │ ├── vborder.png │ │ └── vborder_ie6.png │ │ ├── standard.css │ │ └── standard_rtl.css ├── role.dart ├── scheduler.dart ├── src │ ├── activity │ │ ├── abstract_activity.dart │ │ ├── activity.dart │ │ ├── activity_manager.dart │ │ ├── activity_mapper.dart │ │ ├── caching_activity_mapper.dart │ │ └── filtered_activity_mapper.dart │ ├── animation │ │ ├── animated_layout.dart │ │ ├── animation.dart │ │ ├── animation_scheduler.dart │ │ └── impl │ │ │ ├── animation_scheduler_impl.dart │ │ │ ├── animation_scheduler_impl_timer.dart │ │ │ └── animation_scheduler_impl_webkit.dart │ ├── core │ │ ├── dwt.dart │ │ └── impl.dart │ ├── data │ │ ├── provides_key.dart │ │ └── simple_key_provider.dart │ ├── editor │ │ ├── editor.dart │ │ ├── editor_delegate.dart │ │ ├── has_editor_delegate.dart │ │ ├── is_editor.dart │ │ └── leaf_value_editor.dart │ ├── event │ │ ├── adapter │ │ │ ├── all_mouse_handlers_adapter.dart │ │ │ ├── attach_event_handler_adapter.dart │ │ │ ├── before_selection_handler_adapter.dart │ │ │ ├── blur_handler_adapter.dart │ │ │ ├── change_handler_adapter.dart │ │ │ ├── click_handler_adapter.dart │ │ │ ├── close_handler_adapter.dart │ │ │ ├── closing_handler_adapter.dart │ │ │ ├── double_click_handler_adapter.dart │ │ │ ├── drag_end_handler_adapter.dart │ │ │ ├── drag_enter_handler_adapter.dart │ │ │ ├── drag_handler_adapter.dart │ │ │ ├── drag_leave_handler_adapter.dart │ │ │ ├── drag_over_handler_adapter.dart │ │ │ ├── drag_start_handler_adapter.dart │ │ │ ├── drop_handler_adapter.dart │ │ │ ├── error_handler_adapter.dart │ │ │ ├── focus_handler_adapter.dart │ │ │ ├── gesture_change_handler_adapter.dart │ │ │ ├── gesture_end_handler_adapter.dart │ │ │ ├── gesture_start_handler_adapter.dart │ │ │ ├── key_down_handler_adapter.dart │ │ │ ├── key_press_handler_adapter.dart │ │ │ ├── key_up_handler_adapter.dart │ │ │ ├── load_handler_adapter.dart │ │ │ ├── mouse_down_handler_adapter.dart │ │ │ ├── mouse_move_handler_adapter.dart │ │ │ ├── mouse_out_handler_adapter.dart │ │ │ ├── mouse_over_handler_adapter.dart │ │ │ ├── mouse_up_handler_adapter.dart │ │ │ ├── mouse_wheel_handler_adapter.dart │ │ │ ├── native_preview_handler_adapter.dart │ │ │ ├── open_handler_adapter.dart │ │ │ ├── scroll_handler_adapter.dart │ │ │ ├── selection_handler_adapter.dart │ │ │ ├── touch_cancel_handler_adapter.dart │ │ │ ├── touch_end_handler_adapter.dart │ │ │ ├── touch_move_handler_adapter.dart │ │ │ ├── touch_start_handler_adapter.dart │ │ │ └── value_change_handler_adapter.dart │ │ ├── attach_event.dart │ │ ├── attach_event_handler.dart │ │ ├── before_selection_event.dart │ │ ├── before_selection_handler.dart │ │ ├── blur_event.dart │ │ ├── blur_handler.dart │ │ ├── browser_events.dart │ │ ├── change_event.dart │ │ ├── change_handler.dart │ │ ├── click_event.dart │ │ ├── click_handler.dart │ │ ├── close_event.dart │ │ ├── close_handler.dart │ │ ├── closing_event.dart │ │ ├── closing_handler.dart │ │ ├── command.dart │ │ ├── dom.dart │ │ ├── dom_event.dart │ │ ├── double_click_event.dart │ │ ├── double_click_handler.dart │ │ ├── drag_drop_event_base.dart │ │ ├── drag_end_event.dart │ │ ├── drag_end_handler.dart │ │ ├── drag_enter_event.dart │ │ ├── drag_enter_handler.dart │ │ ├── drag_event.dart │ │ ├── drag_handler.dart │ │ ├── drag_leave_event.dart │ │ ├── drag_leave_handler.dart │ │ ├── drag_over_event.dart │ │ ├── drag_over_handler.dart │ │ ├── drag_start_event.dart │ │ ├── drag_start_handler.dart │ │ ├── drop_event.dart │ │ ├── drop_handler.dart │ │ ├── dwt_event.dart │ │ ├── error_event.dart │ │ ├── error_handler.dart │ │ ├── event.dart │ │ ├── event_bus.dart │ │ ├── event_handler.dart │ │ ├── event_handler_adapter.dart │ │ ├── event_listener.dart │ │ ├── focus_event.dart │ │ ├── focus_handler.dart │ │ ├── focusable.dart │ │ ├── gesture_change_event.dart │ │ ├── gesture_change_handler.dart │ │ ├── gesture_end_event.dart │ │ ├── gesture_end_handler.dart │ │ ├── gesture_start_event.dart │ │ ├── gesture_start_handler.dart │ │ ├── handler_registration.dart │ │ ├── has_all_drag_and_drop_handlers.dart │ │ ├── has_all_focus_handlers.dart │ │ ├── has_all_gesture_handlers.dart │ │ ├── has_all_key_handlers.dart │ │ ├── has_all_mouse_handlers.dart │ │ ├── has_all_touch_handlers.dart │ │ ├── has_animation.dart │ │ ├── has_attach_handlers.dart │ │ ├── has_before_selection_handlers.dart │ │ ├── has_blur_handlers.dart │ │ ├── has_change_handlers.dart │ │ ├── has_click_handlers.dart │ │ ├── has_constrained_value.dart │ │ ├── has_direction_estimator.dart │ │ ├── has_double_click_handlers.dart │ │ ├── has_drag_end_handlers.dart │ │ ├── has_drag_enter_handlers.dart │ │ ├── has_drag_handlers.dart │ │ ├── has_drag_leave_handlers.dart │ │ ├── has_drag_over_handlers.dart │ │ ├── has_drag_start_handlers.dart │ │ ├── has_drop_handlers.dart │ │ ├── has_enabled.dart │ │ ├── has_error_handlers.dart │ │ ├── has_focus_handlers.dart │ │ ├── has_gesture_change_handlers.dart │ │ ├── has_gesture_end_handlers.dart │ │ ├── has_gesture_start_handlers.dart │ │ ├── has_handlers.dart │ │ ├── has_horizontal_scrolling.dart │ │ ├── has_html.dart │ │ ├── has_key_down_handlers.dart │ │ ├── has_key_press_handlers.dart │ │ ├── has_key_up_handlers.dart │ │ ├── has_load_handlers.dart │ │ ├── has_mouse_down_handlers.dart │ │ ├── has_mouse_move_handlers.dart │ │ ├── has_mouse_out_handlers.dart │ │ ├── has_mouse_over_handlers.dart │ │ ├── has_mouse_up_handlers.dart │ │ ├── has_mouse_wheel_handlers.dart │ │ ├── has_name.dart │ │ ├── has_native_event.dart │ │ ├── has_open_handlers.dart │ │ ├── has_resize_handlers.dart │ │ ├── has_safe_html.dart │ │ ├── has_scroll_handlers.dart │ │ ├── has_selection_handlers.dart │ │ ├── has_text.dart │ │ ├── has_touch_cancel_handlers.dart │ │ ├── has_touch_end_handlers.dart │ │ ├── has_touch_move_handlers.dart │ │ ├── has_touch_start_handlers.dart │ │ ├── has_value.dart │ │ ├── has_value_change_handlers.dart │ │ ├── has_vertical_scrolling.dart │ │ ├── has_visibility.dart │ │ ├── has_word_wrap.dart │ │ ├── human_input_event.dart │ │ ├── impl │ │ │ ├── dom_impl.dart │ │ │ └── dom_impl_standard.dart │ │ ├── key_code_event.dart │ │ ├── key_down_event.dart │ │ ├── key_down_handler.dart │ │ ├── key_event.dart │ │ ├── key_press_event.dart │ │ ├── key_press_handler.dart │ │ ├── key_up_event.dart │ │ ├── key_up_handler.dart │ │ ├── load_event.dart │ │ ├── load_handler.dart │ │ ├── mouse_down_event.dart │ │ ├── mouse_down_handler.dart │ │ ├── mouse_event.dart │ │ ├── mouse_move_event.dart │ │ ├── mouse_move_handler.dart │ │ ├── mouse_out_event.dart │ │ ├── mouse_out_handler.dart │ │ ├── mouse_over_event.dart │ │ ├── mouse_over_handler.dart │ │ ├── mouse_up_event.dart │ │ ├── mouse_up_handler.dart │ │ ├── mouse_wheel_event.dart │ │ ├── mouse_wheel_handler.dart │ │ ├── native_preview_event.dart │ │ ├── native_preview_handler.dart │ │ ├── open_event.dart │ │ ├── open_handler.dart │ │ ├── resettable_event_bus.dart │ │ ├── resize_event.dart │ │ ├── resize_handler.dart │ │ ├── scroll_event.dart │ │ ├── scroll_handler.dart │ │ ├── selection_event.dart │ │ ├── selection_handler.dart │ │ ├── simple_event_bus.dart │ │ ├── takes_value.dart │ │ ├── touch_cancel_event.dart │ │ ├── touch_cancel_handler.dart │ │ ├── touch_end_event.dart │ │ ├── touch_end_handler.dart │ │ ├── touch_event.dart │ │ ├── touch_move_event.dart │ │ ├── touch_move_handler.dart │ │ ├── touch_start_event.dart │ │ ├── touch_start_handler.dart │ │ ├── umbrella_exception.dart │ │ ├── value_change_event.dart │ │ └── value_change_handler.dart │ ├── http │ │ ├── header.dart │ │ ├── request.dart │ │ ├── request_builder.dart │ │ ├── request_callback.dart │ │ ├── response.dart │ │ └── string_validator.dart │ ├── i18n │ │ ├── auto_direction_handler.dart │ │ ├── bidi_formatter.dart │ │ ├── bidi_formatter_base.dart │ │ ├── bidi_policy.dart │ │ ├── bidi_utils.dart │ │ ├── constants.dart │ │ ├── constants │ │ │ └── number_constants.dart │ │ ├── currency_data.dart │ │ ├── currency_list.dart │ │ ├── date_time_format.dart │ │ ├── date_time_format_info.dart │ │ ├── default_currency_data.dart │ │ ├── default_date_time_format_info.dart │ │ ├── dictionary.dart │ │ ├── direction.dart │ │ ├── direction_estimator.dart │ │ ├── directional_text_helper.dart │ │ ├── has_alignment.dart │ │ ├── has_auto_horizontal_alignment.dart │ │ ├── has_direction.dart │ │ ├── has_directional_html.dart │ │ ├── has_directional_safe_html.dart │ │ ├── has_directional_text.dart │ │ ├── has_horizontal_alignment.dart │ │ ├── has_text_direction.dart │ │ ├── has_vertical_alignment.dart │ │ ├── impl │ │ │ ├── currency_data_impl.dart │ │ │ ├── date_record.dart │ │ │ ├── date_time_format_info_impl.dart │ │ │ └── locale_info_impl.dart │ │ ├── locale_info.dart │ │ ├── localizable.dart │ │ ├── localizable_resource.dart │ │ ├── number_format.dart │ │ ├── time_zone.dart │ │ ├── time_zone_info.dart │ │ └── word_count_direction_estimator.dart │ ├── layout │ │ ├── impl │ │ │ └── layout_impl.dart │ │ └── layout.dart │ ├── place │ │ ├── place.dart │ │ ├── place_change_event.dart │ │ ├── place_change_event_handler.dart │ │ ├── place_change_request_event.dart │ │ ├── place_change_request_event_handler.dart │ │ ├── place_controller.dart │ │ ├── place_history_handler.dart │ │ ├── place_history_mapper.dart │ │ ├── place_history_mapper_with_factory.dart │ │ └── place_tokenizer.dart │ ├── resource │ │ ├── client_bundle.dart │ │ ├── image_resource.dart │ │ ├── impl │ │ │ └── image_resource_prototype.dart │ │ └── resource_prototype.dart │ ├── role │ │ ├── aria_attribute_type.dart │ │ ├── aria_value_attribute.dart │ │ ├── attribute.dart │ │ ├── button_role.dart │ │ ├── command_role.dart │ │ ├── pressed_value.dart │ │ ├── role.dart │ │ ├── roles.dart │ │ ├── roletype_role.dart │ │ ├── state.dart │ │ └── widget_role.dart │ ├── scheduler │ │ ├── impl │ │ │ ├── flusher.dart │ │ │ ├── rescuer.dart │ │ │ ├── scheduler_impl.dart │ │ │ └── task.dart │ │ └── scheduler.dart │ ├── text │ │ ├── abstract_renderer.dart │ │ ├── appendable.dart │ │ ├── date_time_format_renderer.dart │ │ ├── double_parser.dart │ │ ├── double_renderer.dart │ │ ├── integer_parser.dart │ │ ├── integer_renderer.dart │ │ ├── number_format_renderer.dart │ │ ├── parser.dart │ │ ├── passthrough_parser.dart │ │ ├── passthrough_renderer.dart │ │ └── renderer.dart │ ├── ui │ │ ├── Html.dart │ │ ├── absolute_panel.dart │ │ ├── abstract_image_prototype.dart │ │ ├── accepts_one_widget.dart │ │ ├── adapter │ │ │ ├── has_text_editor.dart │ │ │ ├── takes_value_editor.dart │ │ │ └── value_box_editor.dart │ │ ├── anchor.dart │ │ ├── attach_detach_exception.dart │ │ ├── button.dart │ │ ├── button_base.dart │ │ ├── caption_panel.dart │ │ ├── cell_panel.dart │ │ ├── check_box.dart │ │ ├── complex_panel.dart │ │ ├── composite.dart │ │ ├── custom_button.dart │ │ ├── date_label.dart │ │ ├── deck_layout_panel.dart │ │ ├── deck_panel.dart │ │ ├── decorated_popup_panel.dart │ │ ├── decorated_stack_panel.dart │ │ ├── decorator_panel.dart │ │ ├── dialog_box.dart │ │ ├── disclosure_panel.dart │ │ ├── dock_layout_panel.dart │ │ ├── dock_panel.dart │ │ ├── double_box.dart │ │ ├── file_upload.dart │ │ ├── finite_widget_iterator.dart │ │ ├── flex_table.dart │ │ ├── flow_panel.dart │ │ ├── focus_panel.dart │ │ ├── focus_widget.dart │ │ ├── frame.dart │ │ ├── grid.dart │ │ ├── has_one_widget.dart │ │ ├── has_scrolling.dart │ │ ├── has_tree_items.dart │ │ ├── has_widgets.dart │ │ ├── header_panel.dart │ │ ├── hidden.dart │ │ ├── history.dart │ │ ├── horizontal_panel.dart │ │ ├── html_panel.dart │ │ ├── html_table.dart │ │ ├── hyperlink.dart │ │ ├── image.dart │ │ ├── impl │ │ │ ├── clipped_image_impl.dart │ │ │ ├── clipped_image_prototype.dart │ │ │ ├── element_mapper_impl.dart │ │ │ ├── focus_impl.dart │ │ │ ├── focus_impl_default.dart │ │ │ ├── history_impl.dart │ │ │ ├── hyperlink_impl.dart │ │ │ ├── popup_impl.dart │ │ │ ├── resize_layout_panel_impl.dart │ │ │ ├── resize_layout_panel_impl_standard.dart │ │ │ ├── scroll_impl.dart │ │ │ └── text_box_impl.dart │ │ ├── indexed_panel.dart │ │ ├── inline_html.dart │ │ ├── inline_hyperlink.dart │ │ ├── inline_label.dart │ │ ├── insert_panel.dart │ │ ├── integer_box.dart │ │ ├── is_renderable.dart │ │ ├── is_tree_item.dart │ │ ├── is_widget.dart │ │ ├── label.dart │ │ ├── label_base.dart │ │ ├── layout_command.dart │ │ ├── layout_panel.dart │ │ ├── lazy_panel.dart │ │ ├── list_box.dart │ │ ├── menu_bar.dart │ │ ├── menu_item.dart │ │ ├── menu_item_separator.dart │ │ ├── notification_mole.dart │ │ ├── number_label.dart │ │ ├── panel.dart │ │ ├── password_text_box.dart │ │ ├── popup_panel.dart │ │ ├── provides_resize.dart │ │ ├── push_button.dart │ │ ├── radio_button.dart │ │ ├── requires_resize.dart │ │ ├── reset_button.dart │ │ ├── resize_composite.dart │ │ ├── resize_layout_panel.dart │ │ ├── root_layout_panel.dart │ │ ├── root_panel.dart │ │ ├── scroll_panel.dart │ │ ├── simple_check_box.dart │ │ ├── simple_layout_panel.dart │ │ ├── simple_panel.dart │ │ ├── simple_radio_button.dart │ │ ├── split_layout_panel.dart │ │ ├── splitter.dart │ │ ├── stack_layout_panel.dart │ │ ├── stack_panel.dart │ │ ├── submit_button.dart │ │ ├── tab_bar.dart │ │ ├── tab_layout_panel.dart │ │ ├── tab_panel.dart │ │ ├── text_alignment.dart │ │ ├── text_area.dart │ │ ├── text_box.dart │ │ ├── text_box_base.dart │ │ ├── toggle_button.dart │ │ ├── tree.dart │ │ ├── tree_item.dart │ │ ├── ui_object.dart │ │ ├── value_box.dart │ │ ├── value_box_base.dart │ │ ├── value_label.dart │ │ ├── value_list_box.dart │ │ ├── vertical_panel.dart │ │ ├── widget.dart │ │ ├── widget_collection.dart │ │ └── widget_iterators.dart │ ├── uibinder │ │ ├── binder.dart │ │ ├── creator.dart │ │ ├── parser.dart │ │ └── processor.dart │ ├── util │ │ ├── animation_type.dart │ │ ├── enum.dart │ │ ├── layout_constant.dart │ │ ├── remove_iterator.dart │ │ ├── safe_hml_renderer.dart │ │ ├── safe_html.dart │ │ ├── safe_html_builder.dart │ │ ├── safe_html_string.dart │ │ ├── safe_html_templates.dart │ │ ├── safe_html_utils.dart │ │ ├── safe_styles.dart │ │ ├── safe_styles_builder.dart │ │ ├── safe_styles_string.dart │ │ ├── safe_styles_utils.dart │ │ ├── safe_uri.dart │ │ ├── style.dart │ │ ├── timer.dart │ │ └── uri_utils.dart │ └── validation │ │ ├── number_validator.dart │ │ ├── phone_number_validator.dart │ │ ├── reg_exp_validator.dart │ │ ├── social_security_number_validator.dart │ │ ├── string_validator.dart │ │ ├── validator.dart │ │ └── widget_validator.dart ├── text.dart ├── ui.dart ├── uibinder.dart ├── util.dart └── validation.dart ├── pubspec.lock ├── pubspec.yaml ├── test ├── dart_web_toolkit_test.dart ├── index.html ├── run.sh ├── src │ ├── solid_ui_object.dart │ ├── ui_object_test_group.dart │ └── widget_test_group.dart └── test_group.dart └── tool ├── d2d ├── dwt-small-logo.png └── html.sed /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .project 3 | .children 4 | *.dart.js 5 | *.dart.js_ 6 | *.dart.js.map 7 | packages 8 | packages/ 9 | docs/ 10 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright (C) 2012 - 2015 Sergey Akopkokhyants. All rights reserved. 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | #Dart Web Toolkit or DWT 2 | 3 | Dart Web Toolkit (DWT) is a development toolkit for building and optimizing complex browser-based applications. 4 | 5 | [](https://drone.io/github.com/akserg/dart_web_toolkit/latest) 6 | 7 | ##License 8 | Copyright (c) 2012-2015 Sergey Akopkokhyants Licensed under the Apache 2.0 License. 9 | 10 | ##Credits 11 | This makes use of a lot of ideas from the GWT source code, so big thanks to the Google GWT team! 12 | 13 | 14 | -------------------------------------------------------------------------------- /example/canvas/canvas.css: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file */ 2 | /* for details. All rights reserved. Use of this source code is governed by a */ 3 | /* BSD-style license that can be found in the LICENSE file. */ 4 | 5 | body { 6 | background-color: #F8F8F8; 7 | font-family: 'Open Sans', sans-serif; 8 | font-size: 14px; 9 | font-weight: normal; 10 | line-height: 1.2em; 11 | margin: 15px; 12 | } 13 | 14 | p { 15 | color: #333; 16 | } 17 | 18 | #container { 19 | width: 100%; 20 | height: 400px; 21 | border: 1px solid #ccc; 22 | background-color: #fff; 23 | } 24 | 25 | #summary { 26 | float: left; 27 | } 28 | 29 | #notes { 30 | float: right; 31 | width: 120px; 32 | text-align: right; 33 | } 34 | 35 | .error { 36 | font-style: italic; 37 | color: red; 38 | } -------------------------------------------------------------------------------- /example/canvas/canvas.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 6 |If the URL points to an output file of the GWT compiler (such as 17 | * a file in the public path), use {@link #getModuleBaseForStaticFiles()} 18 | * instead.
19 | * 20 | * @return if non-empty, the base URL is guaranteed to end with a slash 21 | */ 22 | static String getModuleBaseURL() { 23 | return Impl.getModuleBaseURL(); 24 | } 25 | 26 | // DWT Major version number 27 | static String get majorVersion => "0.4"; 28 | // DWT Minor version number 29 | static String get minorVersion => "0"; 30 | } 31 | -------------------------------------------------------------------------------- /lib/src/core/impl.dart: -------------------------------------------------------------------------------- 1 | //Copyright (C) 2012 Sergey Akopkokhyants. All Rights Reserved. 2 | //Author: akserg 3 | 4 | part of dart_web_toolkit_core; 5 | 6 | /** 7 | * Private implementation class for GWT core. This API is should not be 8 | * considered public or stable. 9 | */ 10 | class Impl { 11 | static String getModuleBaseURL() { 12 | return "packages/dart_web_toolkit/"; 13 | } 14 | } -------------------------------------------------------------------------------- /lib/src/data/simple_key_provider.dart: -------------------------------------------------------------------------------- 1 | //Copyright (C) 2012 Sergey Akopkokhyants. All Rights Reserved. 2 | //Author: akserg 3 | 4 | part of dart_web_toolkit_data; 5 | 6 | /** 7 | * Simple passthrough implementation of {@link ProvidesKey}. 8 | * 9 | * @paramnew MyHandler() {
12 | * HandlerRegistration reg = MyEvent.register(eventBus, this);
13 | *
14 | * public void onMyThing(MyEvent event) {
15 | * {@literal /}* do your thing *{@literal /}
16 | * reg.removeHandler();
17 | * }
18 | * };
19 | *
20 | */
21 | abstract class HandlerRegistration {
22 |
23 | /**
24 | * Deregisters the handler associated with this registration object if the
25 | * handler is still attached to the event source. If the handler is no longer
26 | * attached to the event source, this is a no-op.
27 | */
28 | void removeHandler();
29 | }
30 |
--------------------------------------------------------------------------------
/lib/src/event/has_all_drag_and_drop_handlers.dart:
--------------------------------------------------------------------------------
1 | //Copyright (C) 2012 Sergey Akopkokhyants. All Rights Reserved.
2 | //Author: akserg
3 |
4 | part of dart_web_toolkit_event;
5 |
6 | /**
7 | * This is a convenience interface that includes all drag and drop handlers
8 | * defined by the core GWT system.
9 | *
10 | * 11 | * Experimental API: This API is still under development 12 | * and is subject to change. 13 | * 14 | *
15 | */ 16 | abstract class HasAllDragAndDropHandlers implements HasDragEndHandlers, 17 | HasDragEnterHandlers, HasDragLeaveHandlers, HasDragHandlers, 18 | HasDragOverHandlers, HasDragStartHandlers, HasDropHandlers { 19 | 20 | } 21 | -------------------------------------------------------------------------------- /lib/src/event/has_all_focus_handlers.dart: -------------------------------------------------------------------------------- 1 | //Copyright (C) 2012 Sergey Akopkokhyants. All Rights Reserved. 2 | //Author: akserg 3 | 4 | part of dart_web_toolkit_event; 5 | 6 | /** 7 | * This is a convenience interface that includes all focus handlers defined by 8 | * the core GWT system. 9 | * 10 | *11 | * WARNING, PLEASE READ: As this interface is intended for developers who wish 12 | * to handle all focus events in GWT, in the unlikely event that a new focus 13 | * event is added, this interface will change. 14 | *
15 | */ 16 | abstract class HasAllFocusHandlers implements HasFocusHandlers, HasBlurHandlers { 17 | 18 | } 19 | -------------------------------------------------------------------------------- /lib/src/event/has_all_gesture_handlers.dart: -------------------------------------------------------------------------------- 1 | //Copyright (C) 2012 Sergey Akopkokhyants. All Rights Reserved. 2 | //Author: akserg 3 | 4 | part of dart_web_toolkit_event; 5 | 6 | /** 7 | * This is a convenience interface that includes all gesture handlers defined by 8 | * the core GWT system. 9 | *10 | * WARNING, PLEASE READ: As this interface is intended for developers who wish 11 | * to handle all gesture events in GWT, new gesture event handlers will be added 12 | * to it. Therefore, updates can cause breaking API changes. 13 | *
14 | */ 15 | abstract class HasAllGestureHandlers implements HasGestureStartHandlers, 16 | HasGestureChangeHandlers, HasGestureEndHandlers{ 17 | 18 | } 19 | -------------------------------------------------------------------------------- /lib/src/event/has_all_key_handlers.dart: -------------------------------------------------------------------------------- 1 | //Copyright (C) 2012 Sergey Akopkokhyants. All Rights Reserved. 2 | //Author: akserg 3 | 4 | part of dart_web_toolkit_event; 5 | 6 | /** 7 | * Convenience interface used to implement all key handlers at once. 8 | * 9 | *10 | * WARNING, PLEASE READ: In the unlikely event that more key handler subtypes 11 | * are added to GWT, this interface will be expanded, so only implement this 12 | * interface if you wish to have your widget break if a new key event type is 13 | * introduced. 14 | *
15 | */ 16 | abstract class HasAllKeyHandlers implements HasKeyUpHandlers, 17 | HasKeyDownHandlers, HasKeyPressHandlers { 18 | 19 | } 20 | -------------------------------------------------------------------------------- /lib/src/event/has_all_mouse_handlers.dart: -------------------------------------------------------------------------------- 1 | //Copyright (C) 2012 Sergey Akopkokhyants. All Rights Reserved. 2 | //Author: akserg 3 | 4 | part of dart_web_toolkit_event; 5 | 6 | /** 7 | * This is a convenience interface that includes all mouse handlers defined by 8 | * the core GWT system. 9 | *10 | * WARNING, PLEASE READ: As this interface is intended for developers who wish 11 | * to handle all mouse events in GWT, new mouse event handlers will be added to 12 | * it. Therefore, updates can cause breaking API changes. 13 | *
14 | */ 15 | abstract class HasAllMouseHandlers implements HasMouseDownHandlers, 16 | HasMouseUpHandlers, HasMouseOutHandlers, HasMouseOverHandlers, 17 | HasMouseMoveHandlers, HasMouseWheelHandlers{ 18 | 19 | } 20 | -------------------------------------------------------------------------------- /lib/src/event/has_all_touch_handlers.dart: -------------------------------------------------------------------------------- 1 | //Copyright (C) 2012 Sergey Akopkokhyants. All Rights Reserved. 2 | //Author: akserg 3 | 4 | part of dart_web_toolkit_event; 5 | 6 | /** 7 | * This is a convenience interface that includes all touch handlers defined by 8 | * the core GWT system. 9 | *10 | * WARNING, PLEASE READ: As this interface is intended for developers who wish 11 | * to handle all touch events in GWT, new touch event handlers will be added to 12 | * it. Therefore, updates can cause breaking API changes. 13 | *
14 | */ 15 | abstract class HasAllTouchHandlers implements HasTouchStartHandlers, 16 | HasTouchMoveHandlers, HasTouchEndHandlers, HasTouchCancelHandlers { 17 | 18 | } 19 | -------------------------------------------------------------------------------- /lib/src/event/has_animation.dart: -------------------------------------------------------------------------------- 1 | //Copyright (C) 2012 Sergey Akopkokhyants. All Rights Reserved. 2 | //Author: akserg 3 | 4 | part of dart_web_toolkit_event; 5 | 6 | /** 7 | * A {@link Widget} that uses an animation should implement this class so users 8 | * can enable or disable animations. 9 | */ 10 | abstract class HasAnimation { 11 | 12 | /** 13 | * Returns true if animations are enabled, false if not. 14 | */ 15 | bool isAnimationEnabled(); 16 | 17 | /** 18 | * Enable or disable animations. 19 | * 20 | * @param enable true to enable, false to disable 21 | */ 22 | void setAnimationEnabled(bool enable); 23 | } 24 | -------------------------------------------------------------------------------- /lib/src/event/has_attach_handlers.dart: -------------------------------------------------------------------------------- 1 | //Copyright (C) 2012 Sergey Akopkokhyants. All Rights Reserved. 2 | //Author: akserg 3 | 4 | part of dart_web_toolkit_event; 5 | 6 | abstract class HasAttachHandlers extends HasHandlers { 7 | /** 8 | * Adds an {@link AttachEvent} handler. 9 | * 10 | * @param handler the handler 11 | * @return the handler registration 12 | */ 13 | HandlerRegistration addAttachHandler(AttachEventHandler handler); 14 | 15 | /** 16 | * Returns whether or not the receiver is attached to the 17 | * {@link com.google.gwt.dom.client.Document Document}'s 18 | * {@link com.google.gwt.dom.client.BodyElement BodyElement}. 19 | * 20 | * @return true if attached, false otherwise 21 | */ 22 | bool isAttached(); 23 | } 24 | -------------------------------------------------------------------------------- /lib/src/event/has_before_selection_handlers.dart: -------------------------------------------------------------------------------- 1 | //Copyright (C) 2012 Sergey Akopkokhyants. All Rights Reserved. 2 | //Author: akserg 3 | 4 | part of dart_web_toolkit_event; 5 | 6 | /** 7 | * A widget that implements this interface is a public source of 8 | * {@link BeforeSelectionEvent} events. 9 | * 10 | * @param
9 | * It is up to the implementation to decide (and document) how to behave when
10 | * {@link #setValue(Object)} is called with a value that is not in the
11 | * acceptable set. For example, throwing an {@link IllegalArgumentException}, or
12 | * quietly adding the value to the acceptable set, are both reasonable choices.
13 | *
14 | * @param
11 | * Experimental API: This API is still under development
12 | * and is subject to change.
13 | *
11 | * Experimental API: This API is still under development
12 | * and is subject to change.
13 | *
14 | *
11 | * Experimental API: This API is still under development
12 | * and is subject to change.
13 | *
14 | *
11 | * Experimental API: This API is still under development
12 | * and is subject to change.
13 | *
14 | *
11 | * Experimental API: This API is still under development
12 | * and is subject to change.
13 | *
14 | *
11 | * Experimental API: This API is still under development
12 | * and is subject to change.
13 | *
11 | * Experimental API: This API is still under development
12 | * and is subject to change.
13 | *
14 | *
12 | * The body of an XML element representing a widget that implements
13 | * HasText will be parsed as text and be used in a call to its
14 | * {@link #setText(String)} method. HasText elements must only
15 | * contain text. (This behavior is overridden for {@link HasHTML}
16 | * widgets.)
17 | *
18 | * For example:
10 | * You can annotate subinterfaces of PlaceHistoryMapper with
11 | * {@link WithTokenizers} to have their implementation automatically generated
12 | * via a call to {@link com.google.gwt.core.shared.GWT#create(Class)}.
13 | */
14 | abstract class PlaceHistoryMapper {
15 |
16 | /**
17 | * Returns the {@link Place} associated with the given token.
18 | *
19 | * @param token a String token
20 | * @return a {@link Place} instance
21 | */
22 | Place getPlace(String token);
23 |
24 | /**
25 | * Returns the String token associated with the given {@link Place}.
26 | *
27 | * @param place a {@link Place} instance
28 | * @return a String token
29 | */
30 | String getToken(Place place);
31 | }
--------------------------------------------------------------------------------
/lib/src/place/place_history_mapper_with_factory.dart:
--------------------------------------------------------------------------------
1 | //Copyright (C) 2012 Sergey Akopkokhyants. All Rights Reserved.
2 | //Author: akserg
3 |
4 | part of dart_web_toolkit_place;
5 |
6 | /**
7 | * A {@link PlaceHistoryMapper} that can get its {@link PlaceTokenizer}
8 | * instances from a factory.
9 | *
10 | * @param a subtype of {@link Place}
11 | */
12 | abstract class PlaceTokenizer {
13 |
14 | /**
15 | * Returns the {@link Place} associated with the given token.
16 | *
17 | * @param token a String token
18 | * @return a {@link Place} of type P
19 | */
20 | P getPlace(String token);
21 |
22 | /**
23 | * Returns the token associated with the given {@link Place}.
24 | *
25 | * @param place a {@link Place} of type P
26 | * @return a String token
27 | */
28 | String getToken(P place);
29 | }
--------------------------------------------------------------------------------
/lib/src/resource/client_bundle.dart:
--------------------------------------------------------------------------------
1 | //Copyright (C) 2012 Sergey Akopkokhyants. All Rights Reserved.
2 | //Author: akserg
3 |
4 | part of dart_web_toolkit_resource;
5 |
6 | /**
7 | * The use of this interface is similar to that of ImageBundle. Declare
8 | * no-argument functions that return subclasses of {@link ResourcePrototype},
9 | * which are annotated with {@link ClientBundle.Source} annotations specifying
10 | * the classpath location of the resource to include in the output. At runtime,
11 | * the functions will return an object that can be used to access the data in
12 | * the original resource.
13 | */
14 | abstract class ClientBundle {
15 | Source get source;
16 | }
17 |
18 | /**
19 | * Specifies the classpath location of the resource or resources associated
20 | * with the {@link ResourcePrototype}.
21 | */
22 | abstract class Source {
23 | List
12 | * With limited exceptions (such as {@link RootLayoutPanel}), widgets that
13 | * implement this interface will also implement {@link RequiresResize}. A typical
14 | * widget will implement {@link RequiresResize#onResize()} like this:
15 | *
16 | *
11 | * Widgets that implement this interface should only be added to those that
12 | * implement {@link ProvidesResize}. Failure to do so will usually result in
13 | * {@link #onResize()} not being called.
14 | * true
to enable the widget, false
21 | * to disable it
22 | */
23 | void set enabled(bool value);
24 | }
25 |
--------------------------------------------------------------------------------
/lib/src/event/has_error_handlers.dart:
--------------------------------------------------------------------------------
1 | //Copyright (C) 2012 Sergey Akopkokhyants. All Rights Reserved.
2 | //Author: akserg
3 |
4 | part of dart_web_toolkit_event;
5 |
6 | /**
7 | * A widget that implements this interface provides registration for
8 | * {@link ErrorHandler} instances.
9 | */
10 | abstract class HasErrorHandlers extends HasHandlers {
11 | /**
12 | * Adds an {@link ErrorEvent} handler.
13 | *
14 | * @param handler the error handler
15 | * @return {@link HandlerRegistration} used to remove this handler
16 | */
17 | HandlerRegistration addErrorHandler(ErrorHandler handler);
18 | }
19 |
--------------------------------------------------------------------------------
/lib/src/event/has_focus_handlers.dart:
--------------------------------------------------------------------------------
1 | //Copyright (C) 2012 Sergey Akopkokhyants. All Rights Reserved.
2 | //Author: akserg
3 |
4 | part of dart_web_toolkit_event;
5 |
6 | /**
7 | * A widget that implements this interface provides registration for
8 | * {@link FocusHandler} instances.
9 | */
10 | abstract class HasFocusHandlers extends HasHandlers {
11 |
12 | /**
13 | * Adds a {@link FocusEvent} handler.
14 | *
15 | * @param handler the focus handler
16 | * @return {@link HandlerRegistration} used to remove this handler
17 | */
18 | HandlerRegistration addFocusHandler(FocusHandler handler);
19 | }
20 |
--------------------------------------------------------------------------------
/lib/src/event/has_gesture_change_handlers.dart:
--------------------------------------------------------------------------------
1 | //Copyright (C) 2012 Sergey Akopkokhyants. All Rights Reserved.
2 | //Author: akserg
3 |
4 | part of dart_web_toolkit_event;
5 |
6 | /**
7 | * A widget that implements this interface provides registration for
8 | * {@link GestureChangeHandler} instances.
9 | */
10 | abstract class HasGestureChangeHandlers extends HasHandlers {
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/lib/src/event/has_gesture_end_handlers.dart:
--------------------------------------------------------------------------------
1 | //Copyright (C) 2012 Sergey Akopkokhyants. All Rights Reserved.
2 | //Author: akserg
3 |
4 | part of dart_web_toolkit_event;
5 |
6 | /**
7 | * A widget that implements this interface provides registration for
8 | * {@link GestureEndHandler} instances.
9 | */
10 | abstract class HasGestureEndHandlers extends HasHandlers {
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/lib/src/event/has_gesture_start_handlers.dart:
--------------------------------------------------------------------------------
1 | //Copyright (C) 2012 Sergey Akopkokhyants. All Rights Reserved.
2 | //Author: akserg
3 |
4 | part of dart_web_toolkit_event;
5 |
6 | /**
7 | * A widget that implements this interface provides registration for
8 | * {@link GestureStartHandler} instances.
9 | */
10 | abstract class HasGestureStartHandlers extends HasHandlers {
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/lib/src/event/has_handlers.dart:
--------------------------------------------------------------------------------
1 | //Copyright (C) 2012 Sergey Akopkokhyants. All Rights Reserved.
2 | //Author: akserg
3 |
4 | part of dart_web_toolkit_event;
5 |
6 | /**
7 | * An object that implements this interface has a collection of event handlers
8 | * associated with it.
9 | */
10 | abstract class HasHandlers {
11 |
12 | /**
13 | * Fires the given event to the handlers listening to the event's type.
14 | *
15 | * Any exceptions thrown by handlers will be bundled into a
16 | * [UmbrellaException] and then re-thrown after all handlers have
17 | * completed. An exception thrown by a handler will not prevent other handlers
18 | * from executing.
19 | *
20 | * @param event the event
21 | */
22 | void fireEvent(DwtEvent event);
23 | }
24 |
--------------------------------------------------------------------------------
/lib/src/event/has_key_down_handlers.dart:
--------------------------------------------------------------------------------
1 | //Copyright (C) 2012 Sergey Akopkokhyants. All Rights Reserved.
2 | //Author: akserg
3 |
4 | part of dart_web_toolkit_event;
5 |
6 | /**
7 | * A widget that implements this interface provides registration for
8 | * {@link KeyDownHandler} instances.
9 | */
10 | abstract class HasKeyDownHandlers extends HasHandlers {
11 | /**
12 | * Adds a {@link KeyDownEvent} handler.
13 | *
14 | * @param handler the key down handler
15 | * @return {@link HandlerRegistration} used to remove this handler
16 | */
17 | HandlerRegistration addKeyDownHandler(KeyDownHandler handler);
18 | }
19 |
--------------------------------------------------------------------------------
/lib/src/event/has_key_press_handlers.dart:
--------------------------------------------------------------------------------
1 | //Copyright (C) 2012 Sergey Akopkokhyants. All Rights Reserved.
2 | //Author: akserg
3 |
4 | part of dart_web_toolkit_event;
5 |
6 | /**
7 | * A widget that implements this interface provides registration for
8 | * {@link KeyPressHandler} instances.
9 | */
10 | abstract class HasKeyPressHandlers extends HasHandlers {
11 | /**
12 | * Adds a {@link KeyPressEvent} handler.
13 | *
14 | * @param handler the key press handler
15 | * @return {@link HandlerRegistration} used to remove this handler
16 | */
17 | HandlerRegistration addKeyPressHandler(KeyPressHandler handler);
18 | }
19 |
--------------------------------------------------------------------------------
/lib/src/event/has_key_up_handlers.dart:
--------------------------------------------------------------------------------
1 | //Copyright (C) 2012 Sergey Akopkokhyants. All Rights Reserved.
2 | //Author: akserg
3 |
4 | part of dart_web_toolkit_event;
5 |
6 | /**
7 | * A widget that implements this interface provides registration for
8 | * {@link KeyUpHandler} instances.
9 | */
10 | abstract class HasKeyUpHandlers extends HasHandlers {
11 |
12 | /**
13 | * Adds a {@link KeyUpEvent} handler.
14 | *
15 | * @param handler the key up handler
16 | * @return {@link HandlerRegistration} used to remove this handler
17 | */
18 | HandlerRegistration addKeyUpHandler(KeyUpHandler handler);
19 | }
20 |
--------------------------------------------------------------------------------
/lib/src/event/has_load_handlers.dart:
--------------------------------------------------------------------------------
1 | //Copyright (C) 2012 Sergey Akopkokhyants. All Rights Reserved.
2 | //Author: akserg
3 |
4 | part of dart_web_toolkit_event;
5 |
6 | /**
7 | * A widget that implements this interface provides registration for
8 | * {@link LoadHandler} instances.
9 | */
10 | abstract class HasLoadHandlers extends HasHandlers {
11 | /**
12 | * Adds a {@link LoadEvent} handler.
13 | *
14 | * @param handler the load handler
15 | * @return {@link HandlerRegistration} used to remove this handler
16 | */
17 | HandlerRegistration addLoadHandler(LoadHandler handler);
18 | }
19 |
--------------------------------------------------------------------------------
/lib/src/event/has_mouse_down_handlers.dart:
--------------------------------------------------------------------------------
1 | //Copyright (C) 2012 Sergey Akopkokhyants. All Rights Reserved.
2 | //Author: akserg
3 |
4 | part of dart_web_toolkit_event;
5 |
6 | /**
7 | * A widget that implements this interface provides registration for
8 | * {@link MouseDownHandler} instances.
9 | */
10 | abstract class HasMouseDownHandlers extends HasHandlers {
11 |
12 | /**
13 | * Adds a {@link MouseDownEvent} handler.
14 | *
15 | * @param handler the mouse down handler
16 | * @return {@link HandlerRegistration} used to remove this handler
17 | */
18 | HandlerRegistration addMouseDownHandler(MouseDownHandler handler);
19 | }
20 |
--------------------------------------------------------------------------------
/lib/src/event/has_mouse_move_handlers.dart:
--------------------------------------------------------------------------------
1 | //Copyright (C) 2012 Sergey Akopkokhyants. All Rights Reserved.
2 | //Author: akserg
3 |
4 | part of dart_web_toolkit_event;
5 |
6 | /**
7 | * A widget that implements this interface provides registration for
8 | * {@link MouseMoveHandler} instances.
9 | */
10 | abstract class HasMouseMoveHandlers extends HasHandlers {
11 | /**
12 | * Adds a {@link MouseMoveEvent} handler.
13 | *
14 | * @param handler the mouse move handler
15 | * @return {@link HandlerRegistration} used to remove this handler
16 | */
17 | HandlerRegistration addMouseMoveHandler(MouseMoveHandler handler);
18 | }
19 |
--------------------------------------------------------------------------------
/lib/src/event/has_mouse_out_handlers.dart:
--------------------------------------------------------------------------------
1 | //Copyright (C) 2012 Sergey Akopkokhyants. All Rights Reserved.
2 | //Author: akserg
3 |
4 | part of dart_web_toolkit_event;
5 |
6 | /**
7 | * A widget that implements this interface provides registration for
8 | * {@link MouseOutHandler} instances.
9 | */
10 | abstract class HasMouseOutHandlers extends HasHandlers {
11 | /**
12 | * Adds a {@link MouseOutEvent} handler.
13 | *
14 | * @param handler the mouse out handler
15 | * @return {@link HandlerRegistration} used to remove this handler
16 | */
17 | HandlerRegistration addMouseOutHandler(MouseOutHandler handler);
18 | }
19 |
--------------------------------------------------------------------------------
/lib/src/event/has_mouse_over_handlers.dart:
--------------------------------------------------------------------------------
1 | //Copyright (C) 2012 Sergey Akopkokhyants. All Rights Reserved.
2 | //Author: akserg
3 |
4 | part of dart_web_toolkit_event;
5 |
6 | /**
7 | * A widget that implements this interface provides registration for
8 | * {@link MouseOverHandler} instances.
9 | */
10 | abstract class HasMouseOverHandlers extends HasHandlers {
11 | /**
12 | * Adds a {@link MouseOverEvent} handler.
13 | *
14 | * @param handler the mouse over handler
15 | * @return {@link HandlerRegistration} used to remove this handler
16 | */
17 | HandlerRegistration addMouseOverHandler(MouseOverHandler handler);
18 | }
19 |
--------------------------------------------------------------------------------
/lib/src/event/has_mouse_up_handlers.dart:
--------------------------------------------------------------------------------
1 | //Copyright (C) 2012 Sergey Akopkokhyants. All Rights Reserved.
2 | //Author: akserg
3 |
4 | part of dart_web_toolkit_event;
5 |
6 | /**
7 | * A widget that implements this interface provides registration for
8 | * {@link MouseUpHandler} instances.
9 | */
10 | abstract class HasMouseUpHandlers extends HasHandlers {
11 | /**
12 | * Adds a {@link MouseUpEvent} handler.
13 | *
14 | * @param handler the mouse up handler
15 | * @return {@link HandlerRegistration} used to remove this handler
16 | */
17 | HandlerRegistration addMouseUpHandler(MouseUpHandler handler);
18 | }
19 |
--------------------------------------------------------------------------------
/lib/src/event/has_mouse_wheel_handlers.dart:
--------------------------------------------------------------------------------
1 | //Copyright (C) 2012 Sergey Akopkokhyants. All Rights Reserved.
2 | //Author: akserg
3 |
4 | part of dart_web_toolkit_event;
5 |
6 | /**
7 | * A widget that implements this interface provides registration for
8 | * {@link MouseWheelHandler} instances.
9 | */
10 | abstract class HasMouseWheelHandlers extends HasHandlers {
11 | /**
12 | * Adds a {@link MouseWheelEvent} handler.
13 | *
14 | * @param handler the mouse wheel handler
15 | * @return {@link HandlerRegistration} used to remove this handler
16 | */
17 | HandlerRegistration addMouseWheelHandler(MouseWheelHandler handler);
18 | }
19 |
--------------------------------------------------------------------------------
/lib/src/event/has_name.dart:
--------------------------------------------------------------------------------
1 | //Copyright (C) 2012 Sergey Akopkokhyants. All Rights Reserved.
2 | //Author: akserg
3 |
4 | part of dart_web_toolkit_event;
5 |
6 | /**
7 | * A widget that implements this interface has a 'name' associated with it,
8 | * allowing it to be used with {@link FormPanel}. This property is the name
9 | * that will be associated with the widget when its form is submitted.
10 | */
11 | abstract class HasName {
12 |
13 | /**
14 | * Sets the widget's name.
15 | *
16 | * @param name the widget's new name
17 | */
18 | void set name(String value);
19 |
20 | /**
21 | * Gets the widget's name.
22 | *
23 | * @return the widget's name
24 | */
25 | String get name;
26 | }
27 |
--------------------------------------------------------------------------------
/lib/src/event/has_native_event.dart:
--------------------------------------------------------------------------------
1 | //Copyright (C) 2012 Sergey Akopkokhyants. All Rights Reserved.
2 | //Author: akserg
3 |
4 | part of dart_web_toolkit_event;
5 |
6 | /**
7 | * An object that implements this interface has a native event associated with
8 | * it.
9 | */
10 | abstract class HasNativeEvent {
11 | /**
12 | * Gets the underlying native event.
13 | *
14 | * @return the native event
15 | */
16 | dart_html.Event getNativeEvent();
17 | }
18 |
--------------------------------------------------------------------------------
/lib/src/event/has_open_handlers.dart:
--------------------------------------------------------------------------------
1 | //Copyright (C) 2012 Sergey Akopkokhyants. All Rights Reserved.
2 | //Author: akserg
3 |
4 | part of dart_web_toolkit_event;
5 |
6 | /**
7 | * A widget that implements this interface is a public source of
8 | * {@link OpenEvent} events.
9 | *
10 | * @param Use in UiBinder Templates
11 | *
19 | * <g:Label>Hello.</g:Label>
20 | *
21 | */
22 | abstract class HasText {
23 |
24 | /**
25 | * Gets this object's text.
26 | *
27 | * @return the object's text
28 | */
29 | String get text;
30 |
31 | /**
32 | * Sets this object's text.
33 | *
34 | * @param text the object's new text
35 | */
36 | void set text(String value);
37 | }
38 |
--------------------------------------------------------------------------------
/lib/src/event/has_touch_cancel_handlers.dart:
--------------------------------------------------------------------------------
1 | //Copyright (C) 2012 Sergey Akopkokhyants. All Rights Reserved.
2 | //Author: akserg
3 |
4 | part of dart_web_toolkit_event;
5 |
6 | /**
7 | * A widget that implements this interface provides registration for
8 | * {@link TouchCancelHandler} instances.
9 | */
10 | abstract class HasTouchCancelHandlers extends HasHandlers {
11 | /**
12 | * Adds a {@link TouchCancelEvent} handler.
13 | *
14 | * @param handler the touch cancel handler
15 | * @return {@link HandlerRegistration} used to remove this handler
16 | */
17 | HandlerRegistration addTouchCancelHandler(TouchCancelHandler handler);
18 | }
19 |
--------------------------------------------------------------------------------
/lib/src/event/has_touch_end_handlers.dart:
--------------------------------------------------------------------------------
1 | //Copyright (C) 2012 Sergey Akopkokhyants. All Rights Reserved.
2 | //Author: akserg
3 |
4 | part of dart_web_toolkit_event;
5 |
6 | /**
7 | * A widget that implements this interface provides registration for
8 | * {@link TouchEndHandler} instances.
9 | */
10 | abstract class HasTouchEndHandlers extends HasHandlers {
11 | /**
12 | * Adds a {@link TouchEndEvent} handler.
13 | *
14 | * @param handler the touch end handler
15 | * @return {@link HandlerRegistration} used to remove this handler
16 | */
17 | HandlerRegistration addTouchEndHandler(TouchEndHandler handler);
18 | }
19 |
--------------------------------------------------------------------------------
/lib/src/event/has_touch_move_handlers.dart:
--------------------------------------------------------------------------------
1 | //Copyright (C) 2012 Sergey Akopkokhyants. All Rights Reserved.
2 | //Author: akserg
3 |
4 | part of dart_web_toolkit_event;
5 |
6 | /**
7 | * A widget that implements this interface provides registration for
8 | * {@link TouchMoveHandler} instances.
9 | */
10 | abstract class HasTouchMoveHandlers extends HasHandlers {
11 | /**
12 | * Adds a {@link TouchMoveEvent} handler.
13 | *
14 | * @param handler the touch move handler
15 | * @return {@link HandlerRegistration} used to remove this handler
16 | */
17 | HandlerRegistration addTouchMoveHandler(TouchMoveHandler handler);
18 | }
19 |
--------------------------------------------------------------------------------
/lib/src/event/has_touch_start_handlers.dart:
--------------------------------------------------------------------------------
1 | //Copyright (C) 2012 Sergey Akopkokhyants. All Rights Reserved.
2 | //Author: akserg
3 |
4 | part of dart_web_toolkit_event;
5 |
6 | /**
7 | * A widget that implements this interface provides registration for
8 | * {@link TouchStartHandler} instances.
9 | */
10 | abstract class HasTouchStartHandlers extends HasHandlers {
11 | /**
12 | * Adds a {@link TouchStartEvent} handler.
13 | *
14 | * @param handler the touch start handler
15 | * @return {@link HandlerRegistration} used to remove this handler
16 | */
17 | HandlerRegistration addTouchStartHandler(TouchStartHandler handler);
18 | }
19 |
--------------------------------------------------------------------------------
/lib/src/event/has_value_change_handlers.dart:
--------------------------------------------------------------------------------
1 | //Copyright (C) 2012 Sergey Akopkokhyants. All Rights Reserved.
2 | //Author: akserg
3 |
4 | part of dart_web_toolkit_event;
5 |
6 | /**
7 | * A widget that implements this interface is a public source of
8 | * {@link ValueChangeEvent} events.
9 | *
10 | * @param true
if the object is visible
19 | */
20 | bool get visible;
21 |
22 | /**
23 | * Sets whether this object is visible.
24 | *
25 | * @param visible true
to show the object, false
to
26 | * hide it
27 | */
28 | void set visible(bool visible);
29 | }
30 |
--------------------------------------------------------------------------------
/lib/src/event/has_word_wrap.dart:
--------------------------------------------------------------------------------
1 | //Copyright (C) 2012 Sergey Akopkokhyants. All Rights Reserved.
2 | //Author: akserg
3 |
4 | part of dart_web_toolkit_event;
5 |
6 | /**
7 | * A widget that implements this interface has a 'word-wrap' property that can
8 | * be manipulated using these methods.
9 | */
10 | abstract class HasWordWrap {
11 |
12 | /**
13 | * Gets whether word-wrapping is enabled.
14 | *
15 | * @return true
if word-wrapping is enabled.
16 | */
17 | bool get wordWrap;
18 |
19 | /**
20 | * Sets whether word-wrapping is enabled.
21 | *
22 | * @param wrap true
to enable word-wrapping.
23 | */
24 | void set wordWrap(bool wrap);
25 | }
26 |
--------------------------------------------------------------------------------
/lib/src/event/key_down_event.dart:
--------------------------------------------------------------------------------
1 | //Copyright (C) 2012 Sergey Akopkokhyants. All Rights Reserved.
2 | //Author: akserg
3 |
4 | part of dart_web_toolkit_event;
5 |
6 | /**
7 | * Represents a native key down event.
8 | */
9 | class KeyDownEvent extends KeyCodeEvent {
10 |
11 | /**
12 | * The event type.
13 | */
14 | static DomEventTypeRequired Module
10 | * Modules that use this class should inherit
11 | * com.google.gwt.http.HTTP
.
12 | *
13 | * {@gwt.include com/google/gwt/examples/http/InheritsExample.gwt.xml}
14 | */
15 | abstract class Header {
16 | /**
17 | * Returns the name of the HTTP header.
18 | *
19 | * @return name of the HTTP header
20 | */
21 | String getName();
22 |
23 | /**
24 | * Returns the value of the HTTP header.
25 | *
26 | * @return value of the HTTP header
27 | */
28 | String getValue();
29 | }
30 |
--------------------------------------------------------------------------------
/lib/src/i18n/bidi_policy.dart:
--------------------------------------------------------------------------------
1 | //Copyright (C) 2012 Sergey Akopkokhyants. All Rights Reserved.
2 | //Author: akserg
3 |
4 | part of dart_web_toolkit_i18n;
5 |
6 | /**
7 | * Provides low-level functionality to determine whether to support bidi.
8 | */
9 | class BidiPolicy {
10 |
11 | static BidiPolicyImpl impl = new BidiPolicyImpl();
12 |
13 | /**
14 | * Returns true if bidi is enabled, false if disabled.
15 | */
16 | static bool isBidiEnabled() {
17 | return impl.isBidiEnabled();
18 | }
19 | }
20 |
21 | /**
22 | * Implementation class for {@link BidiPolicy}.
23 | */
24 | class BidiPolicyImpl {
25 | bool isBidiEnabled() {
26 | return LocaleInfo.hasAnyRTL();
27 | }
28 | }
29 |
30 | /**
31 | * Implementation class for {@link BidiPolicy} used when bidi is always on.
32 | */
33 | class BidiPolicyImplOn extends BidiPolicyImpl {
34 | bool isBidiEnabled() {
35 | return true;
36 | }
37 | }
--------------------------------------------------------------------------------
/lib/src/i18n/direction.dart:
--------------------------------------------------------------------------------
1 | //Copyright (C) 2012 Sergey Akopkokhyants. All Rights Reserved.
2 | //Author: akserg
3 |
4 | part of dart_web_toolkit_i18n;
5 |
6 | /**
7 | * Possible return values for {@link HasDirection#getDirection()} and parameter values for
8 | * {@link HasDirection#setDirection(Direction)}.Widgets that implement this interface can
9 | * either have a direction that is right-to-left (RTL), left-to-right (LTR), or default
10 | * (which means that their directionality is inherited from their parent widget).
11 | */
12 | class Directionnull
to remove the widget
17 | *
18 | * @see SimplePanel
19 | */
20 | void setWidgetIsWidget(IsWidget w);
21 | }
22 |
--------------------------------------------------------------------------------
/lib/src/ui/has_one_widget.dart:
--------------------------------------------------------------------------------
1 | //Copyright (C) 2012 Sergey Akopkokhyants. All Rights Reserved.
2 | //Author: akserg
3 |
4 | part of dart_web_toolkit_ui;
5 |
6 | /**
7 | * Implemented by panels that have only one widget.
8 | *
9 | * @see SimplePanel
10 | */
11 | abstract class HasOneWidget extends AcceptsOneWidget {
12 |
13 | /**
14 | * Gets the panel's child widget.
15 | *
16 | * @return the child widget, or null
if none is present
17 | */
18 | Widget getWidget();
19 |
20 | /**
21 | * Sets this panel's widget. Any existing child widget will be removed.
22 | *
23 | * @param w the panel's new widget, or null
to clear the panel
24 | */
25 | void setWidget(Widget w);
26 | }
27 |
--------------------------------------------------------------------------------
/lib/src/ui/has_scrolling.dart:
--------------------------------------------------------------------------------
1 | //Copyright (C) 2012 Sergey Akopkokhyants. All Rights Reserved.
2 | //Author: akserg
3 |
4 | part of dart_web_toolkit_ui;
5 |
6 | /**
7 | * Implemented by widgets that support scrolling.
8 | */
9 | abstract class HasScrolling implements HasHorizontalScrolling, HasVerticalScrolling, HasScrollHandlers, IsWidget {
10 |
11 | }
12 |
--------------------------------------------------------------------------------
/lib/src/ui/is_tree_item.dart:
--------------------------------------------------------------------------------
1 | //Copyright (C) 2012 Sergey Akopkokhyants. All Rights Reserved.
2 | //Author: akserg
3 |
4 | part of dart_web_toolkit_ui;
5 |
6 | /**
7 | * Extended by objects which have underlying {@link TreeItem}.
8 | * Provides access to that item, if it exists, without compromising the
9 | * ability to provide a mock object instance in JRE unit tests.
10 | */
11 | abstract class IsTreeItem {
12 |
13 | /**
14 | * Returns the {@link TreeItem} aspect of the receiver.
15 | */
16 | TreeItem asTreeItem();
17 | }
18 |
--------------------------------------------------------------------------------
/lib/src/ui/is_widget.dart:
--------------------------------------------------------------------------------
1 | //Copyright (C) 2012 Sergey Akopkokhyants. All Rights Reserved.
2 | //Author: akserg
3 |
4 | part of dart_web_toolkit_ui;
5 |
6 | /**
7 | * Extended by view interfaces that are likely to be implemented by Widgets.
8 | * Provides access to that widget, if it exists, without compromising the
9 | * ability to provide a mock view instance in JRE unit tests.
10 | */
11 | abstract class IsWidget {
12 |
13 | /**
14 | * Returns the [Widget] aspect of the receiver.
15 | */
16 | Widget asWidget();
17 | }
18 |
--------------------------------------------------------------------------------
/lib/src/ui/provides_resize.dart:
--------------------------------------------------------------------------------
1 | //Copyright (C) 2012 Sergey Akopkokhyants. All Rights Reserved.
2 | //Author: akserg
3 |
4 | part of dart_web_toolkit_ui;
5 |
6 | /**
7 | * This tag interface specifies that the implementing widget will call
8 | * {@link RequiresResize#onResize()} on its children whenever their size may
9 | * have changed.
10 | *
11 | *
17 | * public void onResize() {
18 | * for (Widget child : getChildren()) {
19 | * if (child instanceof RequiresResize) {
20 | * ((RequiresResize) child).onResize();
21 | * }
22 | * }
23 | * }
24 | *
25 | *
10 | *
14 | */
15 | class AnimationTypeDart Documentation
|Dart Web Toolkit API Reference
|
4 | s|Dart Documentation|API Reference {{{version}}}|
5 | s||\
16 | |
17 |
--------------------------------------------------------------------------------