/*
**  CriterionObjectView.h
**
**  Copyright (c) 2004
**
**  Author: Yen-Ju Chen <yjchenx@hotmail.com>
**
**  This program is free software; you can redistribute it and/or modify
**  it under the terms of the GNU General Public License as published by
**  the Free Software Foundation; either version 2 of the License, or
**  (at your option) any later version.
**
**  This program is distributed in the hope that it will be useful,
**  but WITHOUT ANY WARRANTY; without even the implied warranty of
**  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
**  GNU General Public License for more details.
**
**  You should have received a copy of the GNU General Public License
**  along with this program; if not, write to the Free Software
**  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
*/

#ifndef __CriterionObjectView__
#define __CriterionObjectView__

#include <AppKit/AppKit.h>
#include "GNUstep.h"

typedef enum _CriterionObjectViewType {
  CriterionObjectViewTextFieldType, /* one text field */
  CriterionObjectViewInTheRangeType, /* two text field */
  CriterionObjectViewInTheLastType, /* one text field and one popup button */
  CriterionObjectViewIsSelectionType /* one popup button */
} CriterionObjectViewType;

@interface CriterionObjectView: NSView
{
  CriterionObjectViewType type;

  NSTextField *textField, *toField;
  NSTextFieldCell *toTextFieldCell;
  NSPopUpButtonCell *unitPopUpCell, *selectionPopUpCell;
  float unitPopUpCellWidth;

  SEL selector;
  id target;
  BOOL isSmallControlSize;
}

- (void) controlAction: (id) sender;

- (void) setType: (CriterionObjectViewType) type;
- (CriterionObjectViewType) type;

- (id) objectValue;
- (void) setObjectValue: (id) object;

- (void) setSelectionPopUpButtonTitles: (NSArray *) titles;

- (void) setAction: (SEL) selector;
- (SEL) selector;
- (void) setTarget: (id) target;
- (id) target;
- (void) setSmallControlSize: (BOOL) flag;
- (BOOL) isSmallControlSize;

@end

#endif /* _-CriterionObjectView__ */
