CN102033622B - 一种交互式公式的光标走位方法及其控制装置 - Google Patents
一种交互式公式的光标走位方法及其控制装置 Download PDFInfo
- Publication number
- CN102033622B CN102033622B CN2009102355801A CN200910235580A CN102033622B CN 102033622 B CN102033622 B CN 102033622B CN 2009102355801 A CN2009102355801 A CN 2009102355801A CN 200910235580 A CN200910235580 A CN 200910235580A CN 102033622 B CN102033622 B CN 102033622B
- Authority
- CN
- China
- Prior art keywords
- editing area
- cursor
- current
- operational symbol
- head
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
- Navigation (AREA)
Abstract
本发明提供一种交互式公式的光标走位方法,包括光标左右走位、光标上下走位、Tab键走位和Home/End键走位。该方法采用树状结构描述公式的运算符和字母符号之间的位置关系,并根据该树状结构实现光标走位,其中,根据使用者的进入意图在运算符的可编辑区域中定制要走位的可编辑区域。相应地,提供一种交互式公式的光标走位控制装置,包括光标左右走位单元、光标上下走位单元、Tab键走位单元和Home/End键走位单元。根据本发明,光标快速定位到使用者意图进入的可编辑区域中,提高了交互式公式排版的易用性、便捷性和准确性。
Description
技术领域
本发明涉及印刷排版技术领域,尤其涉及一种交互式公式的光标走位方法及其控制装置。
背景技术
交互式公式排版软件是一种常用的公式排版方式,但是,由于公式本身不是简单的行结构,而是一个复杂的结构形态,这导致了在交互式公式编辑过程中光标的走位能力受到了很大的限制。具体地讲,公式中的不同部分之间的位置关系非常复杂,而传统的简单的坐标优先的光标走位方法使得使用者往往不能很清楚地预知光标将进入的下一个位置,并且难以进入实际想进入的位置。这样的光标走位能力不能满足便捷快速的排版要求,直接影响了与使用者的交互能力。
比如,如图1所示,对于分式,无论是哪种形式的分式,比如,一般分式(图1(b))或斜线分式(图1(a)),光标左右走位的处理都是一样的,即,光标只走分子部分,而不走分母部分。然而,对于斜线分式1/2,使用者按下向右方向键的意图有可能是要进入分母部分,但是,在现有技术中,仅通过光标左右走位是进入不了斜线分式的分母区域的,需要使用其它的方向键才能进入分母区域。
又比如,如图2所示,在现有技术中,Tab键走位即是在运算符的可编辑区域中进行逐个的切换,在图2中,各个可编辑区域中的数字表示Tab键走位的顺序。但是,Tab键走位只是单纯地进行区域的切换,而不具备光标的定位能力,也就是说,不能定位到各个可编辑区域的某个特定位置,需要使用其它方向键才能进入可编辑区域中的某个特定位置。
发明内容
针对现有技术中存在的缺陷,本发明提供一种交互式公式的光标走位方法及其控制装置,以使光标快速定位到使用者意图进入的可编辑区域中,提高交互式公式排版的易用性、便捷性和准确性。
为了实现以上目的,根据本发明的交互式公式的光标走位方法,包括以下步骤:
采用树状结构描述公式的结构,所述公式的结构为公式的字母符号和运算符之间的位置关系;
根据树状结构和制定的运算符的可编辑区域的进入顺序进行光标走位;
所述光标左右走位包括以下步骤:
判断光标的下一个位置的对象类型;
如果下一个对象是字母符号类型,则将光标向前或向后移动一位,并判断光标是否定位在当前编辑区域的头部或尾部;
如果下一个对象是运算符类型,则从运算符的可编辑区域中得到推荐首先进入的可编辑区域,将得到的可编辑区域设置成当前焦点可编辑区域,并将光标定位到该当前焦点可编辑区域的头部或尾部;
如果光标已定位到所述当前编辑区域的头部或尾部,则判断所述当前编辑区域是否是所述当前编辑区域所在的运算符推荐进入的最后一个可编辑区域;
如果所述当前编辑区域不是该运算符中推荐进入的最后一个可编辑区域,则得到该运算符中推荐进入的下一个可编辑区域,将所述下一个可编辑区域设置成当前焦点可编辑区域,并将光标定位到该当前焦点可编辑区域的头部或尾部;
如果所述当前编辑区域是该运算符中推荐进入的最后一个可编辑区域,则得到所述当前编辑区域的父编辑区域,并定位到该运算符的前面或后面;
重复执行以上步骤,直到光标定位到公式的最末尾位置,然后返回到根节点编辑区域,进行新一轮的定位。
所述可编辑区域的进入顺序可根据使用者的进入意图来制定。
相应地,根据本发明的交互式公式的光标走位控制装置包括:光标上下走位单元、光标左右走位单元、Tab键走位单元和Home/End键走位单元。这些单元采用树状结构描述公式的结构,所述公式的结构为公式的字母符号和运算符之间的位置关系;根据树状结构和制定的运算符的可编辑区域的进入顺序进行光标走位;
所述光标左右走位单元如下操作:
判断光标的下一个位置的对象类型;
如果下一个对象是字母符号类型,则将光标向前或向后移动一位,并判断光标是否定位在当前编辑区域的头部或尾部;
如果下一个对象是运算符类型,则从运算符的可编辑区域中得到推荐首先进入的可编辑区域,将得到的可编辑区域设置成当前焦点可编辑区域,并将光标定位到该当前焦点可编辑区域的头部或尾部;
如果光标已定位到所述当前编辑区域的头部或尾部,则判断所述当前编辑区域是否是所述当前编辑区域所在的运算符推荐进入的最后一个可编辑区域;
如果所述当前编辑区域不是该运算符中推荐进入的最后一个可编辑区域,则得到该运算符中推荐进入的下一个可编辑区域,将所述下一个可编辑区域设置成当前焦点可编辑区域,并将光标定位到该当前焦点可编辑区域的头部或尾部;
如果所述当前编辑区域是该运算符中推荐进入的最后一个可编辑区域,则得到所述当前编辑区域的父编辑区域,并定位到该运算符的前面或后面;
重复执行以上步骤,直到光标定位到公式的最末尾位置,然后返回到根节点编辑区域,进行新一轮的定位。
在本发明中,根据使用者的进入意图制定运算符的可编辑区域的走位顺序,从而可容易地将光标定位到使用者期望进入的位置,极大地提高了交互式公式编辑的易用性和便捷性。
附图说明
图1是现有技术中分式的光标左右走位的示意图;
图2是现有技术中Tab键走位的示意图;
图3是根据本发明的示例性的表示公式的树状结构图;
图4是根据本发明的光标左右走位的流程图;
图5是在图3所表示的公式的光标左右走位过程中树状结构的遍历过程;
图6是图3所表示的公式根据本发明的光标左右走位方法的走位过程示意图;
图7是根据本发明的光标上下走位的流程图;
图8是图3所表示的公式根据本发明的光标上下走位方法的走位过程示意图;
图9是在图3所表示的公式的光标上下走位过程中树状结构的遍历过程;
图10是根据本发明的上下走位的一个示例;
图11是根据本发明的上下走位的另一示例;
图12是根据本发明的上下走位的另一示例;
图13是根据本发明的上下走位的另一示例;
图14是根据本发明的Tab键走位的流程图;
图15是在图3所表示的公式的Tab键走位过程中树状结构的遍历过程;
图16是图3所表示的公式根据本发明的Tab键走位方法的走位过程示意图;
图17是根据本发明的Tab键走位的另一示例;
图18是求和运算符的可编辑区域在根据本发明的Tab键走位中的三种走位顺序;
图19是根据本发明的Home/End键走位的示例;
图20是在图3所表示的公式的Home/End键走位过程中树状结构的遍历过程;
图21是图3所表示的公式根据本发明的Home/End键走位方法的走位过程示意图。
具体实施方式
在本发明中,光标的走位主要通过键盘上的方向键、Tab键和Home/End键来实现,光标走位主要包括左右走位、上下走位、Tab键走位和Home/End键走位。
在本发明中,采用树状结构来表示一个公式,其根节点表示该公式的根节点编辑区域,其分支度和阶度根据该公式中的运算符和字母符号的个数来确定。具体地讲,按照公式从左到右的顺序,依次建立树状结构:对于字母或数字,直接作为叶节点;对于“+”、“-”、“×”、“÷”、“=”等符号,也直接作为叶节点;对于其它类型的运算符,为该运算符建立一个子树,该子树的父节点表示该运算符的父编辑区域,其子节点表示该运算符的各个可编辑区域,每个可编辑区域都又构成一个子树。如此重复上述操作,建立公式的树状结构。
由于每个运算符本身包含一个可编辑区域的列表,并且运算符的可编辑区域之间的位置关系是已知的,所以,在树状结构中,每个运算符的子节点之间的位置关系是也已知的,每个父节点运算符可根据使用者的意图制定该运算符所包含的可编辑区域(子节点)的走位,具体地讲,可制定哪些可编辑区域是要走位的,哪些是不走位的,及其走位的顺序。
图3是树状结构图的一个示例。该树状结构图所表示的公式是:
从图3可看出,根节点的分支度为3,包括一个字母“a”子节点11、一个符号“+”子节点12和一个分式运算符子节点13。由于分式运算符包括两个可编辑区域,所以该分式运算符分支构成一个子树,包括两个子节点131和132,其中,子节点13表示分式运算符的父编辑区域,子节点131表示该分式的分子部分,子节点132表示该分式的分母部分。由于分母部分为数字“2”,所以将其作为该子树的叶节点1321。由于分子部分包括一个根式运算符,所以子节点131又延伸出一个子树,其父节点为1311,表示根式运算符的父编辑区域。由于根式运算符包括2个可编辑区域,所以又包括两个子节点13111和13112,子节点13111表示该根式的根式内部的区域,子节点13112表示该根式的根次部分。在根式的这两个可编辑区域中,分别为字母符号类型的“x”、“+”、“y”和“2”,直接作为叶节点131111、131112、131113和131121。
以下将参考附图来描述本发明。
(1)光标的左右走位
光标的左右走位主要通过键盘上的向右方向键“→”和向左方向键“←”来控制。左右走位主要控制光标在x轴方向上的位置,以快速定位到使用者意图在左右走位中进入的可编辑区域中。
图4是根据本发明的光标左右走位的流程图。参考图4,根据本发明的光标左右走位的方法包括以下步骤:
在步骤100中,判断光标的下一个位置的对象类型;
如果下一个对象是字母符号类型,则在步骤S 102中将光标向前或向后移动一位,并在步骤S106中判断光标是否定位在当前编辑区域的头部或尾部;
如果下一个对象是运算符类型,则在步骤104中从运算符的可编辑区域中得到推荐首先进入的可编辑区域,其中,运算符的可编辑区域的推荐进入顺序可由使用者制定,比如,可只推荐进入一个可编辑区域,或者可推荐进入所有的可编辑区域,而且是按照指定的顺序进行推荐;此时,将得到的可编辑区域设置成当前焦点可编辑区域,并将光标定位到该编辑区域的头部或尾部;
如果光标已定位到当前编辑区域的头部或尾部,则在步骤S108中判断该编辑区域是否是该编辑区域所在的运算符推荐进入的最后一个可编辑区域;
如果不是最后一个可编辑区域,则执行步骤S104,得到该运算符中推荐进入的下一个可编辑区域,将该可编辑区域设置成当前焦点可编辑区域,并将光标定位到该可编辑区域的头部或尾部;
如果所述可编辑区域是该运算符中推荐进入的最后一个可编辑区域,则在步骤S110中得到该可编辑区域的父编辑区域,并定位到该运算符的前面或后面。
重复执行以上步骤,直到光标定位到公式的最末尾位置,即,没有可遍历的子节点,然后可返回到根节点编辑区域,进行新一轮的定位。
以下将参考图5结合图1的树状结构图来说明光标的左右走位过程。在图5中,用带下划线的数字表示在光标左右走位过程中遍历的各个子节点的顺序。
对于本发明的光标左右走位,即是遍历树状结构的各个层上的子节点的过程。当子节点的类型是字母符号(包括字母、数字、“+”、“-”、“=”等)时,光标向左或向右移动一位。当子节点的类型是运算符时,获得该运算符的可编辑区域中推荐首先进入的区域,即,该运算符父节点推荐进入的子节点,然后对于这个进入的区域,再遍历其子节点。这样依次类推,直到没有子节点为止,返回到父节点继续往前遍历。
对于公式首先,假设光标在字符“a”的左侧的位置,处于树状结构的第二层,逐个地遍历该层上的各个子节点,包括“a”、“+”和分式运算符。对于分式运算符,推荐首先进入其分子区域,而分子区域又包括一个根式运算符,推荐首先进入其根式内部的区域,然后遍历该区域的子节点。根据遍历的顺序,光标如图6所示的顺序走位。
由于可制定运算符的可编辑区的走位顺序,所以通过本发明的左右走位方法,对于在x方向上具有并列区域的运算符,比如,斜线分式、行列式等,可按照用户的输入习惯和便利性,按照x坐标走完该运算符在x方向上的所有可编辑区域。举例来说,对于图1(a)所示的斜线分式,在现有技术中,仅通过光标左右走位是不能直接进入到其分母区域的,需要借助于其它方向键来进行定位,而通过本发明,仅通过光标左右走位就能容易地进入其分母部分。
(2)光标的上下走位
光标的上下走位主要通过键盘上的向上方向键“↑”和向下方向键“↓”来控制。上下走位主要控制光标在y轴方向上的位置,以快速定位到y轴方向上的下一个可编辑区域中。
图7是根据本发明的光标上下走位的流程图。参考图7,根据本发明的光标上下走位方法包括以下步骤:
在步骤S200中,判断在当前编辑区域中是否存在与光标当前所在的行相邻的行;
如果当前编辑区域中不存在与当前行相邻的行,则在步骤S202中获得其父节点对象,并获得父节点对象的可编辑区域,然后判断在父节点对象的可编辑区域中是否存在与当前行相邻的行;
如果在当前编辑区域中存在相邻的行,则在步骤S206中获得相邻的行上与光标所在位置对应的对象类型;
在步骤S208中,判断在步骤S206中获得的对象类型是否是运算符;
如果在步骤S206中获得的对象类型是运算符,则在步骤S210中获得该运算符的符合上下走位要求的可编辑区域,并判断在该可编辑区域中是否存在与当前行相邻的行;
如果在步骤S206中获得的对象类型不是运算符类型,则在步骤S212中计算光标位置,并将光标定位到该位置。
以下将参考图8和图9结合图1的树状结构图说明光标的上下走位过程。假设如图8(a)所示,光标在根式内部的区域中的字符x的前面。
首先,由字符x的父节点编辑区域判断在当前编辑区域,即,根号内部的区域内是否存在与字符x所在的行相邻的行。当判断在当前编辑区域内没有相邻的行时,通知字符x的父节点根式,由其父节点根式来选择下一个走位的区域。当父节点根式发现在其编辑区域中也不存在与字符x所在的行相邻的行时,接着向上通知其父节点分子。而当父节点分子发现在其编辑区域中也不存在与字符x所在的行相邻的行时,则接着向上通知其父节点分式。父节点分式根据传过来的字符x的坐标发现在分式所包含的编辑区域中向下的位置上分母区域是符合走位要求的,则把当前编辑区域设置到分母上,然后将走位方位和字符x的坐标传递给分母区域,分母区域根据自己包含的对象的位置数据,计算出光标的定位位置应该在数字2的位置前面,最终如图8(b)所示将光标定位在分母的数字的前面。树状结构的遍历过程如图9所示。
从以上分析可看出,在根据本发明的光标上下走位过程中,可能要跨越树状结构的几个层次和节点,从而可实现编辑区域的动态选择,并可容易地定位到使用者意图进入、而现有技术不容易进入的编辑区域中。
以下将结合一些示例说明本发明的光标上下走位的效果。
比如,对于具有上下可编辑区域的运算符,比如积分、求和、分式等,当光标在运算符的左边时,使用者按下向上运算符,则进入该运算符的上面的可编辑区域,使用者按下向下运算符,则进入该运算符的下面的可编辑区域。比如,积分,按向上方向键则进入积分的上指数部分,按向下方向键则进入积分的下指数部分。
又比如,对于在上下位置仅具有一个可编辑区域的运算符,比如指数,当光标在运算符的左边时,使用者按下向上的运算符,则进入指数部分,而按下向下方向键,则不会进入指数部分。
又比如,求和公式仅有两个可编辑区域,包括求和符号的下面部分“n”和右边部分“x2y”,而在求和符号的上面没有可编辑区域,即,该求和符号的纵向上没有其它的内容,那么当如图10(a)所示光标在求和符号下面部分n的位置时,根据使用者的意图,按向上方向键时,光标走到可编辑区域x2y的头或尾部,如图10(b)所示。
又比如,当如图11(a)所示,光标在分式的左边时,按向上方向键,则光标进入分子部分,如图11(b)所示,按向下方向键,则光标进入分母部分,如图11(c)所示,也可按住Ctrl+方向键,跳过分子和分母部分,而直接按照坐标优先的方式进行走位。例如,光标现在的定位如图11(d)所示,按住Ctrl键+向下方向键,则光标不是走入分式的分母2的部分,而是按照坐标优先的方式走位到如图11(e)所示的位置。
又比如,如图12所示的斜线分式,当光标在分子1的位置(图12(a))时,按向下的方向键,光标可定位到分母2的位置(图12(b))。而在现有技术中,光标是不能进入斜线分式的分母区域的。
又比如,如图13所示,公式有多行。当光标在图13(a)所示的位置,即,第二行公式中字符x的右侧时,按下向上的方向键,则光标可定位到如图13(b)所示的位置,即,第一行求和公式的下指数部分。当光标在图13(c)所示的位置,即,第二行公式中字符z的左侧时,按下向上的方向键,光标可定位到如图13(d)所示的位置,即,第一行求和公式的主要区域中。而这样的区域定位是现有技术不能实现的。
从以上示例可看出,通过本发明的光标上下走位仅通过光标上下走位,就可根据坐标位置快速地定位到使用者意图进入的区域中的某个位置,并且,由于可选择要走位的区域,所以使用者能够清楚地知道自己按下方向键后光标会走到什么位置,而不再是一个不可预知的位置。
(3)Tab键走位在本发明中,Tab键走位包括正向和反向两种方式,正向就是直接按Tab键,反向就是按Shift+Tab组合键。正向和反向只是走位顺序是相反的。
在本发明中,Tab键走位就是遍历运算符内的可编辑区域的行的过程。具体地讲,首先查找光标所在编辑区域内是否存在下一个运算符;当遇到运算符时,根据运算符所包含的可编辑区域的顺序进行当前编辑区域的切换和定位;如果没有遇到运算符,则定位到当前编辑区域的尾部;如果当前编辑区域已经是根节点编辑区域,则光标定位到该区域的头部,进行新一轮的定位。
图14是根据本发明的Tab键走位的流程图。参考图14,根据本发明的Tab键走位过程包括以下步骤:
在步骤S300中,判断光标所在编辑区域,即当前编辑区域是否是根节点编辑区域;
如果当前编辑区域是根节点编辑区域,则在步骤S304中将光标定位到该根节点编辑区域的头部;
如果当前编辑区域不是根节点编辑区域,则在步骤S302中查找当前编辑区域内的下一个运算符;
如果在当前编辑区域内没有查找到下一个运算符,则在步骤S308中将光标定位到当前编辑区域的尾部;
如果在当前编辑区域内查找到下一个运算符,则在步骤S306中,获得该运算符的第一个可编辑区域,并将光标定位到该可编辑区域的头部;
在步骤S308之后,在步骤S310中,获得当前编辑区域所属的运算符,并在步骤S312中判断当前编辑区域是否是该运算符的最后一个可编辑区域;
如果不是最后一个可编辑区域,则在步骤S316中将光标定位到该运算符的下一个可编辑区域的头部;
如果是最后一个可编辑区域,则在步骤S314中将光标定位到该运算符的后面。
图15是在图3所表示的公式的Tab键走位过程中树状结构的遍历过程。图16是图3所表示的公式根据本发明的Tab键走位过程,图17是图2所示公式的Tab键走位过程,其中,数字表示走位顺序。。
从以上两图可看出,根据本发明的Tab键走位的顺序是非常符合公式的书写和输入流程的,可以定位到运算符的所有可编辑区域的头部和尾部。使用者在输入公式时大多数情况只需用一个Tab键就能使光标定位到下一个想要输入的位置,而无需用其它方向键来帮助走位。这样,使用者的感受会非常好,并且效率也会得到很大的提高。
优选地,一个运算符所包含的可编辑区域的顺序是可变的,Tab走位可按照该运算符定义的顺序进行区域的切换。比如,如图18所示,求和运算符的3个可编辑区域的走位顺序可改变。
(4)Home/End键的走位
在本发明中,Home/End键用于快速地定位到公式中某个编辑区域某行的头部或尾部。比如,如图19(a)所示,当光标当前所在位置和要定位的某个编辑区域某行在同一个编辑区域内时,按Home/End键则快速定位到该行的头部或尾部。
如果光标就在公式中某个编辑区域某行的头部或尾部,那么按Home/End键则光标定位到该编辑区域的父编辑区域的该行的头部或者尾部。比如,如图19(b)所示,当光标在内层编辑区域的头时,按Home键则快速定位到外层编辑区域的头部。
如果光标嵌套得很深,那么想要快速地定位到根节点编辑区域同行的头部或尾部,那么就用Ctrl+Home/End组合键。比如,如图19(c)所示,当光标在内层编辑区域的某个位置时,按Ctrl+Home/End键则快速地定位到最外层编辑区域的头部或尾部。
如果光标已经在根节点编辑区的头部或尾部,那么再次按Ctrl+Home/End键,则光标走出公式,定位到公式相邻的正文的位置上。
图20是在图3所表示的公式的Home/End键走位过程中树状结构的遍历过程。图21是当光标在根式内的字符x的右侧时,连续按下Home/End键的走位过程,其中数字表示走位顺序。
通过根据本发明的Home/End键走位,当对正文和公式进行混排时,可自由地进出公式,这样就使得正文和公式的整体性得到了增强。
相应地,本发明提供一种交互式公式的光标走位控制装置,包括光标左右走位单元、光标上下走位单元、Tab键走位单元和Home/End键走位单元。这些单元采用树状结构描述公式的结构,即,公式的字母符号和运算符之间的位置关系,并根据树状结构和制定的运算符的可编辑区域的进入顺序进行光标走位。其中,所述可编辑区域的进入顺序可根据使用者的进入意图来制定。
光标上下走位单元、光标左右走位单元、Tab键走位单元和Home/End键走位单元的操作与上述光标上下走位方法、光标左右走位方法、Tab键走位方法和Home/End键走位方法相同,因此,省略其描述。
从以上实施例可看出,本发明根据使用者的意图设计了光标的走位方法,可以灵活地进入公式中使用者期望进入的位置,并可根据光标位置自动选择要走位的编辑区域,从而提高了公式排版的效率,并极大地提高了交互式公式编辑的易用性和便捷性。而且,通过Home/End键走位,还可自由地进出公式和文本之间,从而进一步提高了公式排版的效率。
优选地,使用者可以根据自己的使用喜好来自定义运算符走位的默认区域,这样使用者可针对不同的公式进行个性化的走位定制。通过个性化定制,使用者能够非常清楚自己按下方向键之后光标将走到哪些位置,更提高了公式排版的效率。
以上参考附图描述了本发明实施例,但是应该理解,本发明不限于所公开的示例性实施例。本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种交互式公式的光标走位方法,包括光标左右走位、上下走位、Tab键走位和Home/End键走位,该方法包括以下步骤:
采用树状结构描述公式的结构,所述公式的结构为公式的字母符号和运算符之间的位置关系;
根据树状结构和制定的运算符的可编辑区域的进入顺序进行光标走位;
所述光标左右走位包括以下步骤:
判断光标的下一个位置的对象类型;
如果下一个对象是字母符号类型,则将光标向前或向后移动一位,并判断光标是否定位在当前编辑区域的头部或尾部;
如果下一个对象是运算符类型,则从运算符的可编辑区域中得到推荐首先进入的可编辑区域,将得到的可编辑区域设置成当前焦点可编辑区域,并将光标定位到该当前焦点可编辑区域的头部或尾部;
如果光标已定位到所述当前编辑区域的头部或尾部,则判断所述当前编辑区域是否是所述当前编辑区域所在的运算符推荐进入的最后一个可编辑区域;
如果所述当前编辑区域不是该运算符中推荐进入的最后一个可编辑区域,则得到该运算符中推荐进入的下一个可编辑区域,将所述下一个可编辑区域设置成当前焦点可编辑区域,并将光标定位到该当前焦点可编辑区域的头部或尾部;
如果所述当前编辑区域是该运算符中推荐进入的最后一个可编辑区域,则得到所述当前编辑区域的父编辑区域,并定位到该运算符的前面或后面;
重复执行以上步骤,直到光标定位到公式的最末尾位置,然后返回到根节点编辑区域,进行新一轮的定位。
2.根据权利要求1所述的光标走位方法,其特征在于,所述可编辑区域的进入顺序根据使用者的进入意图来制定。
3.根据权利要求1所述的光标走位方法,其特征在于,所述光标上下走位包括以下步骤:
判断在当前编辑区域中是否存在与光标当前所在的行相邻的行;
如果当前编辑区域中不存在与当前行相邻的行,则获得当前编辑区域的父节点对象,并获得父节点对象的可编辑区域,然后返回上一步骤以判断在父节点对象的可编辑区域中是否存在与当前行相邻的行;
如果在当前编辑区域中存在相邻的行,则获得相邻的行上与光标所在位置对应的对象类型;
判断获得的对象类型是否是运算符;
如果获得的对象类型是运算符,则获得该运算符的符合上下走位要求的可编辑区域,并判断在所述符合上下走位要求的可编辑区域中是否存在与当前行相邻的行;
如果获得的对象类型不是运算符类型,则计算光标位置,并将光标定位到该位置。
4.根据权利要求1所述的光标走位方法,其特征在于,Tab键键走位包括以下步骤:
查找当前编辑区域内的下一个运算符;
如果在当前编辑区域内没有查找到下一个运算符,则将光标定位到当前编辑区域的尾部;
如果在当前编辑区域内查找到下一个运算符,则获得所述下一个运算符的第一个可编辑区域,并将光标定位到所述第一个可编辑区域的头部;
在将光标定位到当前编辑区域的尾部之后,获得当前编辑区域所属的运算符,并判断当前编辑区域是否是所述当前编辑区域所属的运算符的最后一个可编辑区域;
如果不是最后一个可编辑区域,则将光标定位到所述当前编辑区域所属的运算符的下一个可编辑区域的头部;
如果是最后一个可编辑区域,则将光标定位到所述当前编辑区域所属的运算符的后面;
如果当前编辑区域已经是根节点编辑区域,则将光标定位到所述根节点编辑区域的头部,进行新一轮的定位。
5.根据权利要求1所述的光标走位方法,其特征在于,Home/End键走位包括以下步骤:
当光标当前所在位置和要定位的某个编辑区域某行在同一个编辑区域内时,光标定位到该行的头部或尾部;
如果光标当前在某个编辑区域某行的头部或尾部,则光标定位到该编辑区域的父编辑区域的该行的头部或者尾部;
如果光标嵌套得很深,则按下Ctrl+Home/End组合键将光标定位到根节点编辑区内该行的头部或尾部;
如果光标已经在根节点编辑区的头部或尾部,那么再次按Ctrl+Home/End键,则光标走出公式,定位到正文与公式相邻的位置上。
6.一种交互式公式的光标走位控制装置,包括光标上下走位单元、光标左右走位单元、Tab键走位单元和Home/End键走位单元,这些单元采用树状结构描述公式的结构,所述公式的结构为公式的字母符号和运算符之间的位置关系,并根据树状结构和制定的运算符的可编辑区域的进入顺序进行光标走位;
所述光标左右走位单元如下操作:
判断光标的下一个位置的对象类型;
如果下一个对象是字母符号类型,则将光标向前或向后移动一位,并判断光标是否定位在当前编辑区域的头部或尾部;
如果下一个对象是运算符类型,则从运算符的可编辑区域中得到推荐首先进入的可编辑区域,将得到的可编辑区域设置成当前焦点可编辑区域,并将光标定位到该当前焦点可编辑区域的头部或尾部;
如果光标已定位到所述当前编辑区域的头部或尾部,则判断所述当前编辑区域是否是所述当前编辑区域所在的运算符推荐进入的最后一个可编辑区域;
如果所述当前编辑区域不是该运算符中推荐进入的最后一个可编辑区域,则得到该运算符中推荐进入的下一个可编辑区域,将所述下一个可编辑区域设置成当前焦点可编辑区域,并将光标定位到该当前焦点可编辑区域的头部或尾部;
如果所述当前编辑区域是该运算符中推荐进入的最后一个可编辑区域,则得到所述当前编辑区域的父编辑区域,并定位到该运算符的前面或后面;
重复执行以上步骤,直到光标定位到公式的最末尾位置,然后返回到根节点编辑区域,进行新一轮的定位。
7.根据权利要求6所述的光标走位控制装置,其特征在于,所述可编辑区域的进入顺序根据使用者的进入意图来制定。
8.根据权利要求6所述的光标走位控制装置,其特征在于,所述光标上下走位单元如下操作:
判断在当前编辑区域中是否存在与光标当前所在的行相邻的行;
如果当前编辑区域中不存在与当前行相邻的行,则获得当前编辑区域的父节点对象,并获得父节点对象的可编辑区域,然后返回上一步骤以判断在父节点对象的可编辑区域中是否存在与当前行相邻的行;
如果在当前编辑区域中存在相邻的行,则获得相邻的行上与光标所在位置对应的对象类型;
判断获得的对象类型是否是运算符;
如果获得的对象类型是运算符,则获得该运算符的符合上下走位要求的可编辑区域,并判断在所述符合上下走位要求的可编辑区域中是否存在与当前行相邻的行;
如果获得的对象类型不是运算符类型,则计算光标位置,并将光标定位到该位置。
9.根据权利要求6所述的光标走位控制装置,其特征在于,所述Tab键走位单元如下操作:
查找当前编辑区域内的下一个运算符;
如果在当前编辑区域内没有查找到下一个运算符,则将光标定位到当前编辑区域的尾部;
如果在当前编辑区域内查找到下一个运算符,则获得所述下一个运算符的第一个可编辑区域,并将光标定位到所述第一个可编辑区域的头部;
在将光标定位到当前编辑区域的尾部之后,获得当前编辑区域所属的运算符,并判断当前编辑区域是否是所述当前编辑区域所属的运算符的最后一个可编辑区域;
如果不是最后一个可编辑区域,则将光标定位到所述当前编辑区域所属的运算符的下一个可编辑区域的头部;
如果是最后一个可编辑区域,则将光标定位到所述当前编辑区域所属的运算符的后面;
如果当前编辑区域已经是根节点编辑区域,则将光标定位到所述根节点编辑区域的头部,进行新一轮的定位。
10.根据权利要求6所述的光标走位控制装置,其特征在于,所述Home/End键走位单元如下操作:
当光标当前所在位置和要定位的某个编辑区域某行在同一个编辑区域内时,光标定位到该行的头部或尾部;
如果光标当前在某个编辑区域某行的头部或尾部,则光标定位到该编辑区域的父编辑区域的该行的头部或者尾部;
如果光标嵌套得很深,则按下Ctrl+Home/End组合键将光标定位到根节点编辑区内该行的头部或尾部;
如果光标已经在根节点编辑区的头部或尾部,那么再次按Ctrl+Home/End键,则光标走出公式,定位到正文与公式相邻的位置上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102355801A CN102033622B (zh) | 2009-09-29 | 2009-09-29 | 一种交互式公式的光标走位方法及其控制装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102355801A CN102033622B (zh) | 2009-09-29 | 2009-09-29 | 一种交互式公式的光标走位方法及其控制装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102033622A CN102033622A (zh) | 2011-04-27 |
CN102033622B true CN102033622B (zh) | 2013-07-10 |
Family
ID=43886606
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009102355801A Expired - Fee Related CN102033622B (zh) | 2009-09-29 | 2009-09-29 | 一种交互式公式的光标走位方法及其控制装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102033622B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6269220B2 (ja) * | 2014-03-20 | 2018-01-31 | カシオ計算機株式会社 | 数式表示制御装置、数式表示制御方法、数式表示制御プログラム |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0917040A2 (en) * | 1997-11-11 | 1999-05-19 | Hewlett-Packard Company | Method for providing a cue in a computer system |
CN1510642A (zh) * | 2002-12-24 | 2004-07-07 | 英业达股份有限公司 | 在任意图形中限定光标移动范围的系统与方法 |
CN101498984A (zh) * | 2008-02-01 | 2009-08-05 | 致伸科技股份有限公司 | 电脑光标控制系统及控制光标移动的方法 |
-
2009
- 2009-09-29 CN CN2009102355801A patent/CN102033622B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0917040A2 (en) * | 1997-11-11 | 1999-05-19 | Hewlett-Packard Company | Method for providing a cue in a computer system |
CN1510642A (zh) * | 2002-12-24 | 2004-07-07 | 英业达股份有限公司 | 在任意图形中限定光标移动范围的系统与方法 |
CN101498984A (zh) * | 2008-02-01 | 2009-08-05 | 致伸科技股份有限公司 | 电脑光标控制系统及控制光标移动的方法 |
Non-Patent Citations (1)
Title |
---|
董国明,张君玉.支持数学语义描述的在线公式编辑器实践.《中国科学院研究生院学报》.2008,第25卷(第6期),824~829. * |
Also Published As
Publication number | Publication date |
---|---|
CN102033622A (zh) | 2011-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101174190B (zh) | 电子设备屏幕上实现复合按键的软件键盘输入的方法 | |
CN100505031C (zh) | 具有突出的导航和页面改变的标志的平滑滚动 | |
JP5980279B2 (ja) | キーボード入力に基づく入力方法 | |
Nesbat | A system for fast, full-text entry for small electronic devices | |
CN101667092A (zh) | 实时预测用户输入的人机界面 | |
CN103136196A (zh) | 用于向电子设备输入文本和纠错的方法 | |
KR20130132588A (ko) | 입력 장치, 입력 방법 및 기록 매체 | |
CN103268154A (zh) | 一种机顶盒虚拟键盘的字母输入方法及装置 | |
CN101099124A (zh) | 通过方向输入设备输入字符的方法和装置 | |
CN103488420A (zh) | 虚拟键盘调整的方法和装置 | |
JP2013192071A (ja) | 文字入力用のプログラムおよび文字入力装置 | |
CN104731363A (zh) | 一种基于遥控器的字符输入方法及装置 | |
CN104777919A (zh) | 一种基于遥控器的字符输入方法及装置 | |
CN102033622B (zh) | 一种交互式公式的光标走位方法及其控制装置 | |
CN101706689A (zh) | 通过方向键进行字符输入的方法和装置 | |
CN103309464B (zh) | 一种输入装置 | |
CN102841752A (zh) | 一种人机交互设备的字符输入方法和装置 | |
CN103135786A (zh) | 用于向电子设备输入文本的方法 | |
KR20140014287A (ko) | 사용자 인터페이스 제공 방법 및 그 장치 | |
CN102520875B (zh) | 一种点划兼用的汉字拼音输入法 | |
CN106201003B (zh) | 一种基于触摸屏设备的虚拟键盘及其输入方法 | |
CN105094416A (zh) | 手持装置及其输入方法 | |
TWI606369B (zh) | 設定功能鍵方法和輸入裝置 | |
KR100230493B1 (ko) | 카나(假名) 입력 장치 | |
KR20120097921A (ko) | 확장키를 이용한 정보입력시스템 및 정보입력방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130710 Termination date: 20190929 |
|
CF01 | Termination of patent right due to non-payment of annual fee |