summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorCharles Edward Pax <charles.pax@gmail.com>2017-07-28 09:59:41 -0400
committerCharles Edward Pax <charles.pax@gmail.com>2017-07-28 09:59:41 -0400
commit8e383ff1cbf2b8784c9925cba4c47f08b3357152 (patch)
treed87934b73feb2570e8291ae18e37086c612f836f /src
parent2e0776db2bc405204a50adcbed0e3a5f1a97af92 (diff)
Doxygen comments.
Diffstat (limited to 'src')
-rw-r--r--src/cmds_command.c66
-rw-r--r--src/cmds_edit.c108
-rw-r--r--src/cmds_insert.c52
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