Contiki 2.6
|
00001 /* 00002 * Copyright (c) 2002-2003, Adam Dunkels. 00003 * All rights reserved. 00004 * 00005 * Redistribution and use in source and binary forms, with or without 00006 * modification, are permitted provided that the following conditions 00007 * are met: 00008 * 1. Redistributions of source code must retain the above copyright 00009 * notice, this list of conditions and the following disclaimer. 00010 * 2. Redistributions in binary form must reproduce the above 00011 * copyright notice, this list of conditions and the following 00012 * disclaimer in the documentation and/or other materials provided 00013 * with the distribution. 00014 * 3. The name of the author may not be used to endorse or promote 00015 * products derived from this software without specific prior 00016 * written permission. 00017 * 00018 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS 00019 * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 00020 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 00021 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 00022 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 00023 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 00024 * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 00025 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 00026 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 00027 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 00028 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00029 * 00030 * This file is part of the Contiki operating system. 00031 * 00032 * $Id: ctk-textentry-checkbox.c,v 1.1 2006/06/17 22:41:17 adamdunkels Exp $ 00033 * 00034 */ 00035 00036 #include "ctk/ctk.h" 00037 00038 #include "ctk-textentry-checkbox.h" 00039 00040 /*-----------------------------------------------------------------------------------*/ 00041 unsigned char 00042 ctk_textentry_checkbox_input(ctk_arch_key_t c, 00043 struct ctk_textentry *t) 00044 { 00045 switch(c) { 00046 case 'X': 00047 case 'x': 00048 *t->text = 'x'; 00049 return 1; 00050 00051 case ' ': 00052 *t->text = *t->text == 'x'? 0:'x'; 00053 return 1; 00054 00055 case CH_DEL: 00056 case CH_ENTER: 00057 case CTK_CONF_WIDGETDOWN_KEY: 00058 case CTK_CONF_WIDGETUP_KEY: 00059 return 0; 00060 } 00061 return 1; 00062 } 00063 /*-----------------------------------------------------------------------------------*/