diff options
author | Charles Edward Pax <charles.pax@gmail.com> | 2017-07-28 09:59:41 -0400 |
---|---|---|
committer | Charles Edward Pax <charles.pax@gmail.com> | 2017-07-28 09:59:41 -0400 |
commit | 8e383ff1cbf2b8784c9925cba4c47f08b3357152 (patch) | |
tree | d87934b73feb2570e8291ae18e37086c612f836f /src | |
parent | 2e0776db2bc405204a50adcbed0e3a5f1a97af92 (diff) |
Doxygen comments.
Diffstat (limited to 'src')
-rw-r--r-- | src/cmds_command.c | 66 | ||||
-rw-r--r-- | src/cmds_edit.c | 108 | ||||
-rw-r--r-- | src/cmds_insert.c | 52 |
3 files changed, 214 insertions, 12 deletions
diff --git a/src/cmds_command.c b/src/cmds_command.c index aa8cb1e..43beba6 100644 --- a/src/cmds_command.c +++ b/src/cmds_command.c @@ -1,3 +1,47 @@ +/******************************************************************************* + * Copyright (c) 2013-2017, Andrés Martinelli <andmarti@gmail.com * + * All rights reserved. * + * * + * This file is a part of SC-IM * + * * + * SC-IM is a spreadsheet program that is based on SC. The original authors * + * of SC are James Gosling and Mark Weiser, and mods were later added by * + * Chuck Martin. * + * * + * Redistribution and use in source and binary forms, with or without * + * modification, are permitted provided that the following conditions are met: * + * 1. Redistributions of source code must retain the above copyright * + * notice, this list of conditions and the following disclaimer. * + * 2. Redistributions in binary form must reproduce the above copyright * + * notice, this list of conditions and the following disclaimer in the * + * documentation and/or other materials provided with the distribution. * + * 3. All advertising materials mentioning features or use of this software * + * must display the following acknowledgement: * + * This product includes software developed by Andrés Martinelli * + * <andmarti@gmail.com>. * + * 4. Neither the name of the Andrés Martinelli nor the * + * names of other contributors may be used to endorse or promote products * + * derived from this software without specific prior written permission. * + * * + * THIS SOFTWARE IS PROVIDED BY ANDRES MARTINELLI ''AS IS'' AND ANY * + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * + * DISCLAIMED. IN NO EVENT SHALL ANDRES MARTINELLI BE LIABLE FOR ANY * + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;* + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * + *******************************************************************************/ + +/** + * \file cmds_command.c + * \author Andrés Martinelli <andmarti@gmail.com> + * \date 2017-07-18 + * \brief TODO Write a tbrief file description. + */ + #include <string.h> #include <wchar.h> #include <stdlib.h> @@ -34,9 +78,9 @@ extern struct dictionary * user_conf_d; wchar_t inputline[BUFFERSIZE]; wchar_t interp_line[BUFFERSIZE]; -int inputline_pos; // This is the position in window. Some chars has 2 chars width - // \-> https://en.wikipedia.org/wiki/Halfwidth_and_fullwidth_forms -int real_inputline_pos; // This is the real position in inputline +int inputline_pos; /**< Position in window. Some chars has 2 chars width */ +// see https://en.wikipedia.org/wiki/Halfwidth_and_fullwidth_forms +int real_inputline_pos; /**< Real position in inputline */ static wchar_t * valid_commands[] = { L"!", @@ -109,6 +153,14 @@ L"valueize", (wchar_t *) 0 }; +/** + * \brief TODO Document do_commandmode() + * + * \param[in] sb + * + * \return none + */ + void do_commandmode(struct block * sb) { // If a visual selected range exists @@ -901,6 +953,14 @@ void do_commandmode(struct block * sb) { return; } +/** + * \brief TODO Document ins_in_line() + * + * \param[in] d + * + * \return none + */ + void ins_in_line(wint_t d) { add_wchar(inputline, (wchar_t) d, real_inputline_pos++); inputline_pos += wcwidth((wchar_t) d); diff --git a/src/cmds_edit.c b/src/cmds_edit.c index e266a1b..e0f91ee 100644 --- a/src/cmds_edit.c +++ b/src/cmds_edit.c @@ -1,3 +1,47 @@ +/******************************************************************************* + * Copyright (c) 2013-2017, Andrés Martinelli <andmarti@gmail.com * + * All rights reserved. * + * * + * This file is a part of SC-IM * + * * + * SC-IM is a spreadsheet program that is based on SC. The original authors * + * of SC are James Gosling and Mark Weiser, and mods were later added by * + * Chuck Martin. * + * * + * Redistribution and use in source and binary forms, with or without * + * modification, are permitted provided that the following conditions are met: * + * 1. Redistributions of source code must retain the above copyright * + * notice, this list of conditions and the following disclaimer. * + * 2. Redistributions in binary form must reproduce the above copyright * + * notice, this list of conditions and the following disclaimer in the * + * documentation and/or other materials provided with the distribution. * + * 3. All advertising materials mentioning features or use of this software * + * must display the following acknowledgement: * + * This product includes software developed by Andrés Martinelli * + * <andmarti@gmail.com>. * + * 4. Neither the name of the Andrés Martinelli nor the * + * names of other contributors may be used to endorse or promote products * + * derived from this software without specific prior written permission. * + * * + * THIS SOFTWARE IS PROVIDED BY ANDRES MARTINELLI ''AS IS'' AND ANY * + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * + * DISCLAIMED. IN NO EVENT SHALL ANDRES MARTINELLI BE LIABLE FOR ANY * + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;* + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * + *******************************************************************************/ + +/** + * \file cmds_edit.c + * \author Andrés Martinelli <andmarti@gmail.com> + * \date 2017-07-18 + * \brief TODO Write a tbrief file description. + */ + #include <string.h> #include <wchar.h> #include <wctype.h> @@ -19,7 +63,15 @@ extern char ori_insert_edit_submode; #endif -static wint_t wi; // char read from stdin +static wint_t wi; /**< char read from stdin */ + +/** + * \brief TODO Document do_editmode() + * + * \param[in] sb + * + * \return none + */ void do_editmode(struct block * sb) { if (sb->value == L'h' || sb->value == OKEY_LEFT) { // LEFT @@ -319,7 +371,14 @@ void do_editmode(struct block * sb) { return; } -// looks for a char in inputline +/** + * \brief Looks for a char in inputline + * + * \param[in] cb + * + * \return position; -1 otherwise + */ + int look_for(wchar_t cb) { int c, cpos = inputline_pos; while (++cpos < wcslen(inputline)) @@ -328,7 +387,14 @@ int look_for(wchar_t cb) { return -1; } -// move backwards a word +/** + * \brief Move backward one word + * + * \param[in] big_word + * + * \return position + */ + int back_word(int big_word) { int c, cpos = real_inputline_pos; if (inputline[cpos-1] == L' ' ) cpos--; @@ -340,11 +406,19 @@ int back_word(int big_word) { return cpos; } -/* - * end_of_word is used for moving forward to end of a WORD - * big_word looks for ' ', else looks for istext. - * delete 1 is used when typing dw command +/** + * \brief Move to the end of a word + * + * \details Used for moving forward to the end of a WORD. big_word + * looks for ' ', else looks for istext. + * + * \param[in] end_of_word + * \param[in] delete + * \param[in] big_word + * + * \return position; 0 otherwise */ + int for_word(int end_of_word, int delete, int big_word) { int cpos = real_inputline_pos; @@ -365,6 +439,12 @@ int for_word(int end_of_word, int delete, int big_word) { return 0; } +/** + * \brief TODO Cocument del_back_char() + * + * \return none + */ + void del_back_char() { // x DEL int max = wcswidth(inputline, wcslen(inputline)); if (inputline_pos > max) return; @@ -379,6 +459,12 @@ void del_back_char() { // x DEL return; } +/** + * \brief TODO Document del_for_char() + * + * \return none + */ + void del_for_char() { // X BS if ( ! wcslen(inputline) || ! real_inputline_pos ) return; int l = wcwidth(inputline[real_inputline_pos - 1]); @@ -388,8 +474,12 @@ void del_for_char() { // X BS return; } -// return 1 OK -// return 0 on error +/** + * \brief TODO Document start_edit_mode() + * + * \returns: 1 on success; 0 on error + */ + int start_edit_mode(struct block * buf, char type) { chg_mode(buf->value); diff --git a/src/cmds_insert.c b/src/cmds_insert.c index 868a846..4b0c6fe 100644 --- a/src/cmds_insert.c +++ b/src/cmds_insert.c @@ -1,3 +1,47 @@ +/******************************************************************************* + * Copyright (c) 2013-2017, Andrés Martinelli <andmarti@gmail.com * + * All rights reserved. * + * * + * This file is a part of SC-IM * + * * + * SC-IM is a spreadsheet program that is based on SC. The original authors * + * of SC are James Gosling and Mark Weiser, and mods were later added by * + * Chuck Martin. * + * * + * Redistribution and use in source and binary forms, with or without * + * modification, are permitted provided that the following conditions are met: * + * 1. Redistributions of source code must retain the above copyright * + * notice, this list of conditions and the following disclaimer. * + * 2. Redistributions in binary form must reproduce the above copyright * + * notice, this list of conditions and the following disclaimer in the * + * documentation and/or other materials provided with the distribution. * + * 3. All advertising materials mentioning features or use of this software * + * must display the following acknowledgement: * + * This product includes software developed by Andrés Martinelli * + * <andmarti@gmail.com>. * + * 4. Neither the name of the Andrés Martinelli nor the * + * names of other contributors may be used to endorse or promote products * + * derived from this software without specific prior written permission. * + * * + * THIS SOFTWARE IS PROVIDED BY ANDRES MARTINELLI ''AS IS'' AND ANY * + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * + * DISCLAIMED. IN NO EVENT SHALL ANDRES MARTINELLI BE LIABLE FOR ANY * + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;* + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * + *******************************************************************************/ + +/** + * \file cmds_insert.c + * \author Andrés Martinelli <andmarti@gmail.com> + * \date 2017-07-18 + * \brief TODO Write a tbrief file description. + */ + #include <string.h> #include <wchar.h> #include <stdlib.h> @@ -18,6 +62,14 @@ char ori_insert_edit_submode; extern void ins_in_line(wint_t d); +/** + * \brief TODO Document do_insertmode() + * + * \param[in] sb + * + * returns: none + */ + void do_insertmode(struct block * sb) { if (sb->value == ctl('v') ) { // VISUAL SUBMODE |