All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.zkoss.zul.event.GroupsDataEvent Maven / Gradle / Ivy

There is a newer version: 10.0.0-jakarta
Show newest version
/* GroupsDataEvent.java

	Purpose:
		
	Description:
		
	History:
		Mon Sep  1 11:05:31     2008, Created by tomyeh

Copyright (C) 2008 Potix Corporation. All Rights Reserved.

{{IS_RIGHT
	This program is distributed under LGPL Version 2.1 in the hope that
	it will be useful, but WITHOUT ANY WARRANTY.
}}IS_RIGHT
*/
package org.zkoss.zul.event;

import org.zkoss.zul.GroupsModel;

/**
 * Defines an event that encapsulates changes to a list of groups. 
 * 
 * @author tomyeh
 * @since 3.5.0
 * @see org.zkoss.zul.GroupsModel
 * @see GroupsDataListener
 */
public class GroupsDataEvent {
	/** Identifies one or more changes in the contents of a particular group.
	 * The indices ({@link #getIndex0} and {@link #getIndex1} ) are
	 * in the range of the particular group.
	 * 

Note: {@link #getGroupIndex} must be non-negative. */ public static final int CONTENTS_CHANGED = 0; /** Identifies the addition of one or more contiguous items to a * particular group. * The indices ({@link #getIndex0} and {@link #getIndex1} ) are * in the range of the particular group. *

Note: {@link #getGroupIndex} must be non-negative. */ public static final int INTERVAL_ADDED = 1; /** Identifies the removal of one or more contiguous items from a * particular group. * The indices ({@link #getIndex0} and {@link #getIndex1} ) are * in the range of the particular group. *

Note: {@link #getGroupIndex} must be non-negative. */ public static final int INTERVAL_REMOVED = 2; /** Identifies the structure of the lists has changed. @since 5.0.7*/ public static final int STRUCTURE_CHANGED = 3; /** Identifies one or more changes in the groups contents. * The indices ({@link #getIndex0} and {@link #getIndex1} ) are * the indices of groups. * Note: {@link #getGroupIndex} is ignored. */ public static final int GROUPS_CHANGED = 4; /** Identifies the addition of one or more contiguous items to the list. * The indices ({@link #getIndex0} and {@link #getIndex1} ) are * the indices of groups. * Note: {@link #getGroupIndex} is ignored. */ public static final int GROUPS_ADDED = 5; /** Identifies the removal of one or more contiguous items from the list. * The indices ({@link #getIndex0} and {@link #getIndex1} ) are * the indices of groups. * Note: {@link #getGroupIndex} is ignored. */ public static final int GROUPS_REMOVED = 6; /** Identifies the Group is reset. * @since 5.0.0 */ public static final int GROUPS_RESET = 7; /** Identifies the selection of the lists has changed. * Notice that the objects being selected can be found by calling * {@link org.zkoss.zul.ext.Selectable#getSelection}. * Moreover, {@link #getIndex0} and {@link #getIndex1} are both meaningless. * @since 6.0.0 */ public static final int SELECTION_CHANGED = 8; /** Identified the state of {@link org.zkoss.zul.ext.Selectable#isMultiple} is changed. * @since 6.0.0 */ public static final int MULTIPLE_CHANGED = 9; /** Identifies the Group opened. * @since 7.0.6 */ public static final int GROUPS_OPENED = 10; /** * Identified the state that Component's client update to be disabled * @since 8.0.0 */ public static final int DISABLE_CLIENT_UPDATE = 11; /** * Identified the state that Component's client update to be enabled * @since 8.0.0 */ public static final int ENABLE_CLIENT_UPDATE = 12; private final GroupsModel _model; private final int _type, _groupIndex, _index0, _index1; /** Constructor. * * @param type one of {@link #CONTENTS_CHANGED}, * {@link #INTERVAL_ADDED}, {@link #INTERVAL_REMOVED}, * {@link #GROUPS_CHANGED}, * {@link #GROUPS_ADDED}, or {@link #GROUPS_REMOVED}.. * @param groupIndex the index of the group being changed. * It is used only if type is one of * {@link #CONTENTS_CHANGED}, * {@link #INTERVAL_ADDED}, or {@link #INTERVAL_REMOVED}. * @param index0 the lower index of the change range. * For simple element, index0 is the same as index1. * -1 means the first element (the same as 0). * @param index1 the upper index of the change range. * -1 means the last element. */ public GroupsDataEvent(GroupsModel model, int type, int groupIndex, int index0, int index1) { if (model == null) throw new IllegalArgumentException(); if (type < STRUCTURE_CHANGED && groupIndex < 0) throw new IllegalArgumentException("groupIndex required for type " + type); _model = model; _type = type; _groupIndex = groupIndex; _index0 = index0; _index1 = index1; } /** Returns the list model that fires this event. */ public GroupsModel getModel() { return _model; } /** Returns the event type. One of {@link #CONTENTS_CHANGED}, * {@link #INTERVAL_ADDED}, {@link #INTERVAL_REMOVED}, * {@link #GROUPS_CHANGED}, * {@link #GROUPS_ADDED}, or {@link #GROUPS_REMOVED}. */ public int getType() { return _type; } /** Returns the index of the group. * It is used only if {@link #getType} is one of * {@link #CONTENTS_CHANGED}, * {@link #INTERVAL_ADDED}, {@link #INTERVAL_REMOVED}. */ public int getGroupIndex() { return _groupIndex; } /** Returns the lower index of the change range. * For a single element/group, this value is the same as that returned by * {@link #getIndex1}. */ public int getIndex0() { return _index0; } /** Returns the upper index of the change range. * For a single element/group, this value is the same as that returned by * {@link #getIndex0}. */ public int getIndex1() { return _index1; } //Object// public String toString() { return "[GroupsDataEvent type=" + _type + ", index=" + _index0 + ", " + _index1 + ']'; } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy