[Kalzium] KDE/kdeedu/kalzium/src
Johannes Simon
johannes.simon at gmail.com
Wed Sep 12 16:34:17 CEST 2007
SVN commit 711652 by jsimon:
Chemical equation solver now assumes an element's coefficient to be 1 if not provided explicitly.
Also improved behaviour of search widget in Kalzium's main window.
CCMAIL:kalzium at kde.org
M +12 -0 searchwidget.cpp
M +1 -0 searchwidget.h
M +124 -117 solver/parser.ml
M +1 -0 solver/parser.mly
--- trunk/KDE/kdeedu/kalzium/src/searchwidget.cpp #711651:711652
@@ -43,8 +43,11 @@
m_searchLine = new KLineEdit( this );
m_searchLine->setClearButtonShown(true);
+ m_searchLine->setTrapReturnKey(true);
connect( m_searchLine, SIGNAL( textChanged( const QString& ) ),
this, SLOT( searchTextChanged( const QString& ) ) );
+ connect( m_searchLine, SIGNAL( returnPressed() ),
+ this, SLOT( slotReturnPressed() ) );
mainlay->addWidget( m_searchLine );
}
@@ -79,6 +82,15 @@
m_timer->start( 333 );
}
+void SearchWidget::slotReturnPressed()
+{
+ if ( m_timer )
+ {
+ m_timer->stop();
+ }
+ doSearch();
+}
+
void SearchWidget::doSearch()
{
Search *s = KalziumDataObject::instance()->search();
--- trunk/KDE/kdeedu/kalzium/src/searchwidget.h #711651:711652
@@ -48,6 +48,7 @@
private slots:
void searchTextChanged( const QString& text );
+ void slotReturnPressed();
void doSearch();
private:
--- trunk/KDE/kdeedu/kalzium/src/solver/parser.ml #711651:711652
@@ -36,48 +36,49 @@
0|]
let yylhs = "\255\255\
-\001\000\002\000\003\000\003\000\004\000\004\000\005\000\005\000\
-\006\000\006\000\006\000\006\000\006\000\006\000\006\000\007\000\
-\007\000\000\000"
+\001\000\002\000\003\000\003\000\004\000\004\000\004\000\005\000\
+\005\000\006\000\006\000\006\000\006\000\006\000\006\000\006\000\
+\007\000\007\000\000\000"
let yylen = "\002\000\
-\002\000\003\000\001\000\003\000\002\000\002\000\001\000\002\000\
-\002\000\001\000\004\000\004\000\004\000\003\000\003\000\002\000\
-\001\000\002\000"
+\002\000\003\000\001\000\003\000\002\000\002\000\001\000\001\000\
+\002\000\002\000\001\000\004\000\004\000\004\000\003\000\003\000\
+\002\000\001\000\002\000"
let yydefred = "\000\000\
-\000\000\000\000\000\000\000\000\018\000\000\000\000\000\000\000\
-\000\000\000\000\000\000\006\000\000\000\000\000\005\000\001\000\
-\000\000\000\000\000\000\000\000\000\000\000\000\016\000\008\000\
-\009\000\002\000\004\000\000\000\000\000\000\000\014\000\015\000\
-\011\000\012\000\013\000"
+\000\000\000\000\000\000\000\000\000\000\000\000\000\000\019\000\
+\000\000\000\000\000\000\007\000\000\000\000\000\006\000\000\000\
+\000\000\000\000\000\000\017\000\005\000\001\000\000\000\000\000\
+\009\000\010\000\000\000\000\000\000\000\015\000\016\000\002\000\
+\004\000\012\000\013\000\014\000"
let yydgoto = "\002\000\
-\005\000\006\000\007\000\008\000\012\000\013\000\014\000"
+\008\000\009\000\010\000\011\000\012\000\013\000\014\000"
-let yysindex = "\255\255\
-\003\255\000\000\010\255\010\255\000\000\003\000\252\254\011\255\
-\010\255\018\255\008\255\000\000\010\255\021\255\000\000\000\000\
-\003\255\003\255\020\255\007\255\019\255\022\255\000\000\000\000\
-\000\000\000\000\000\000\026\255\023\255\024\255\000\000\000\000\
-\000\000\000\000\000\000"
+let yysindex = "\003\000\
+\010\255\000\000\016\255\016\255\024\255\247\254\016\255\000\000\
+\007\000\003\255\015\255\000\000\016\255\020\255\000\000\018\255\
+\007\255\021\255\025\255\000\000\000\000\000\000\010\255\010\255\
+\000\000\000\000\030\255\026\255\027\255\000\000\000\000\000\000\
+\000\000\000\000\000\000\000\000"
let yyrindex = "\000\000\
-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\000\
-\000\000\000\000\001\000\000\000\015\000\008\000\000\000\000\000\
+\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\
+\000\000\000\000\005\000\000\000\015\000\008\000\000\000\000\000\
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-\000\000\000\000\000\000"
+\000\000\000\000\000\000\000\000"
let yygindex = "\000\000\
-\000\000\000\000\006\000\000\000\254\255\000\000\000\000"
+\000\000\000\000\006\000\000\000\255\255\000\000\000\000"
let yytablesize = 281
-let yytable = "\001\000\
-\017\000\015\000\016\000\003\000\003\000\017\000\019\000\010\000\
-\029\000\030\000\024\000\004\000\018\000\009\000\007\000\010\000\
-\023\000\011\000\020\000\021\000\022\000\025\000\026\000\027\000\
-\028\000\031\000\033\000\000\000\032\000\034\000\035\000\000\000\
+let yytable = "\020\000\
+\018\000\015\000\016\000\001\000\003\000\021\000\022\000\011\000\
+\028\000\029\000\003\000\025\000\023\000\004\000\008\000\005\000\
+\024\000\006\000\007\000\004\000\026\000\005\000\027\000\006\000\
+\017\000\018\000\019\000\030\000\032\000\033\000\034\000\031\000\
+\035\000\036\000\000\000\000\000\000\000\000\000\000\000\000\000\
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
@@ -105,17 +106,17 @@
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\
-\000\000\017\000\017\000\000\000\017\000\017\000\017\000\000\000\
-\017\000\010\000\017\000\010\000\010\000\010\000\003\000\010\000\
-\007\000\010\000\000\000\007\000\000\000\000\000\000\000\000\000\
-\007\000"
+\000\000\018\000\018\000\000\000\018\000\018\000\018\000\000\000\
+\018\000\011\000\018\000\011\000\011\000\011\000\003\000\011\000\
+\008\000\011\000\000\000\008\000\000\000\000\000\000\000\000\000\
+\008\000"
-let yycheck = "\001\000\
-\000\000\004\000\000\000\001\001\000\000\010\001\009\000\000\000\
-\002\001\003\001\013\000\009\001\002\001\004\001\000\000\006\001\
-\009\001\008\001\001\001\002\001\003\001\001\001\017\000\018\000\
-\005\001\007\001\001\001\255\255\007\001\007\001\007\001\255\255\
+let yycheck = "\009\001\
+\000\000\003\000\004\000\001\000\000\000\007\000\000\000\000\000\
+\002\001\003\001\001\001\013\000\010\001\004\001\000\000\006\001\
+\002\001\008\001\009\001\004\001\001\001\006\001\005\001\008\001\
+\001\001\002\001\003\001\007\001\023\000\024\000\001\001\007\001\
+\007\001\007\001\255\255\255\255\255\255\255\255\255\255\255\255\
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
@@ -143,7 +144,6 @@
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
-\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\
\255\255\001\001\002\001\255\255\004\001\005\001\006\001\255\255\
\008\001\002\001\010\001\004\001\005\001\006\001\010\001\008\001\
\002\001\010\001\255\255\005\001\255\255\255\255\255\255\255\255\
@@ -168,150 +168,157 @@
let yyact = [|
(fun _ -> failwith "parser")
-; (fun parser_env ->
- let _1 = (peek_val parser_env 1 : 'equation) in
+; (fun __caml_parser_env ->
+ let _1 = (Parsing.peek_val __caml_parser_env 1 : 'equation) in
Obj.repr(
# 44 "parser.mly"
( _1 )
# 177 "parser.ml"
: Chemset.listitems))
-; (fun parser_env ->
- let _1 = (peek_val parser_env 2 : 'expr) in
- let _3 = (peek_val parser_env 0 : 'expr) in
+; (fun __caml_parser_env ->
+ let _1 = (Parsing.peek_val __caml_parser_env 2 : 'expr) in
+ let _3 = (Parsing.peek_val __caml_parser_env 0 : 'expr) in
Obj.repr(
# 49 "parser.mly"
( chem_negate _3; List.append _1 _3 )
# 185 "parser.ml"
: 'equation))
-; (fun parser_env ->
- let _1 = (peek_val parser_env 0 : 'item) in
+; (fun __caml_parser_env ->
+ let _1 = (Parsing.peek_val __caml_parser_env 0 : 'item) in
Obj.repr(
# 53 "parser.mly"
( _1::[] )
# 192 "parser.ml"
: 'expr))
-; (fun parser_env ->
- let _1 = (peek_val parser_env 2 : 'item) in
- let _3 = (peek_val parser_env 0 : 'expr) in
+; (fun __caml_parser_env ->
+ let _1 = (Parsing.peek_val __caml_parser_env 2 : 'item) in
+ let _3 = (Parsing.peek_val __caml_parser_env 0 : 'expr) in
Obj.repr(
# 54 "parser.mly"
( _1::_3 )
# 200 "parser.ml"
: 'expr))
-; (fun parser_env ->
- let _1 = (peek_val parser_env 1 : string) in
- let _2 = (peek_val parser_env 0 : 'symbols) in
+; (fun __caml_parser_env ->
+ let _1 = (Parsing.peek_val __caml_parser_env 1 : string) in
+ let _2 = (Parsing.peek_val __caml_parser_env 0 : 'symbols) in
Obj.repr(
# 58 "parser.mly"
( {ikey=_1; itbl=_2; sign=1} )
# 208 "parser.ml"
: 'item))
-; (fun parser_env ->
- let _1 = (peek_val parser_env 1 : int) in
- let _2 = (peek_val parser_env 0 : 'symbols) in
+; (fun __caml_parser_env ->
+ let _1 = (Parsing.peek_val __caml_parser_env 1 : int) in
+ let _2 = (Parsing.peek_val __caml_parser_env 0 : 'symbols) in
Obj.repr(
# 59 "parser.mly"
( {ikey=string_of_int(_1); itbl=_2; sign=1} )
# 216 "parser.ml"
: 'item))
-; (fun parser_env ->
- let _1 = (peek_val parser_env 0 : 'qte) in
+; (fun __caml_parser_env ->
+ let _1 = (Parsing.peek_val __caml_parser_env 0 : 'symbols) in
Obj.repr(
-# 63 "parser.mly"
+# 60 "parser.mly"
+ ( {ikey="1"; itbl=_1; sign=1})
+# 223 "parser.ml"
+ : 'item))
+; (fun __caml_parser_env ->
+ let _1 = (Parsing.peek_val __caml_parser_env 0 : 'qte) in
+ Obj.repr(
+# 64 "parser.mly"
( _1 )
-# 223 "parser.ml"
+# 230 "parser.ml"
: 'symbols))
-; (fun parser_env ->
- let _1 = (peek_val parser_env 1 : 'qte) in
- let _2 = (peek_val parser_env 0 : 'symbols) in
+; (fun __caml_parser_env ->
+ let _1 = (Parsing.peek_val __caml_parser_env 1 : 'qte) in
+ let _2 = (Parsing.peek_val __caml_parser_env 0 : 'symbols) in
Obj.repr(
-# 64 "parser.mly"
+# 65 "parser.mly"
( chem_add _1 _2 )
-# 231 "parser.ml"
+# 238 "parser.ml"
: 'symbols))
-; (fun parser_env ->
- let _1 = (peek_val parser_env 1 : 'element) in
- let _2 = (peek_val parser_env 0 : int) in
+; (fun __caml_parser_env ->
+ let _1 = (Parsing.peek_val __caml_parser_env 1 : 'element) in
+ let _2 = (Parsing.peek_val __caml_parser_env 0 : int) in
Obj.repr(
-# 68 "parser.mly"
+# 69 "parser.mly"
( createchem _1 _2 )
-# 239 "parser.ml"
- : 'qte))
-; (fun parser_env ->
- let _1 = (peek_val parser_env 0 : 'element) in
- Obj.repr(
-# 69 "parser.mly"
- ( createchem _1 1 )
# 246 "parser.ml"
: 'qte))
-; (fun parser_env ->
- let _2 = (peek_val parser_env 2 : 'symbols) in
- let _4 = (peek_val parser_env 0 : int) in
+; (fun __caml_parser_env ->
+ let _1 = (Parsing.peek_val __caml_parser_env 0 : 'element) in
Obj.repr(
# 70 "parser.mly"
- ( chem_mult _2 _4 )
-# 254 "parser.ml"
+ ( createchem _1 1 )
+# 253 "parser.ml"
: 'qte))
-; (fun parser_env ->
- let _2 = (peek_val parser_env 2 : int) in
+; (fun __caml_parser_env ->
+ let _2 = (Parsing.peek_val __caml_parser_env 2 : 'symbols) in
+ let _4 = (Parsing.peek_val __caml_parser_env 0 : int) in
Obj.repr(
# 71 "parser.mly"
- ( createchem "+" _2 )
+ ( chem_mult _2 _4 )
# 261 "parser.ml"
: 'qte))
-; (fun parser_env ->
- let _2 = (peek_val parser_env 2 : int) in
+; (fun __caml_parser_env ->
+ let _2 = (Parsing.peek_val __caml_parser_env 2 : int) in
Obj.repr(
# 72 "parser.mly"
- ( createchem "-" _2 )
+ ( createchem "+" _2 )
# 268 "parser.ml"
: 'qte))
-; (fun parser_env ->
+; (fun __caml_parser_env ->
+ let _2 = (Parsing.peek_val __caml_parser_env 2 : int) in
Obj.repr(
# 73 "parser.mly"
+ ( createchem "-" _2 )
+# 275 "parser.ml"
+ : 'qte))
+; (fun __caml_parser_env ->
+ Obj.repr(
+# 74 "parser.mly"
( createchem "+" 1 )
-# 274 "parser.ml"
+# 281 "parser.ml"
: 'qte))
-; (fun parser_env ->
+; (fun __caml_parser_env ->
Obj.repr(
-# 74 "parser.mly"
+# 75 "parser.mly"
( createchem "-" 1 )
-# 280 "parser.ml"
+# 287 "parser.ml"
: 'qte))
-; (fun parser_env ->
- let _1 = (peek_val parser_env 1 : string) in
- let _2 = (peek_val parser_env 0 : string) in
+; (fun __caml_parser_env ->
+ let _1 = (Parsing.peek_val __caml_parser_env 1 : string) in
+ let _2 = (Parsing.peek_val __caml_parser_env 0 : string) in
Obj.repr(
-# 78 "parser.mly"
+# 79 "parser.mly"
( _1 ^ _2 )
-# 288 "parser.ml"
+# 295 "parser.ml"
: 'element))
-; (fun parser_env ->
- let _1 = (peek_val parser_env 0 : string) in
+; (fun __caml_parser_env ->
+ let _1 = (Parsing.peek_val __caml_parser_env 0 : string) in
Obj.repr(
-# 79 "parser.mly"
+# 80 "parser.mly"
( _1 )
-# 295 "parser.ml"
+# 302 "parser.ml"
: 'element))
(* Entry main *)
-; (fun parser_env -> raise (YYexit (peek_val parser_env 0)))
+; (fun __caml_parser_env -> raise (Parsing.YYexit (Parsing.peek_val __caml_parser_env 0)))
|]
let yytables =
- { actions=yyact;
- transl_const=yytransl_const;
- transl_block=yytransl_block;
- lhs=yylhs;
- len=yylen;
- defred=yydefred;
- dgoto=yydgoto;
- sindex=yysindex;
- rindex=yyrindex;
- gindex=yygindex;
- tablesize=yytablesize;
- table=yytable;
- check=yycheck;
- error_function=parse_error;
- names_const=yynames_const;
- names_block=yynames_block }
+ { Parsing.actions=yyact;
+ Parsing.transl_const=yytransl_const;
+ Parsing.transl_block=yytransl_block;
+ Parsing.lhs=yylhs;
+ Parsing.len=yylen;
+ Parsing.defred=yydefred;
+ Parsing.dgoto=yydgoto;
+ Parsing.sindex=yysindex;
+ Parsing.rindex=yyrindex;
+ Parsing.gindex=yygindex;
+ Parsing.tablesize=yytablesize;
+ Parsing.table=yytable;
+ Parsing.check=yycheck;
+ Parsing.error_function=parse_error;
+ Parsing.names_const=yynames_const;
+ Parsing.names_block=yynames_block }
let main (lexfun : Lexing.lexbuf -> token) (lexbuf : Lexing.lexbuf) =
- (yyparse yytables 1 lexfun lexbuf : Chemset.listitems)
+ (Parsing.yyparse yytables 1 lexfun lexbuf : Chemset.listitems)
--- trunk/KDE/kdeedu/kalzium/src/solver/parser.mly #711651:711652
@@ -57,6 +57,7 @@
item:
MINOR symbols { {ikey=$1; itbl=$2; sign=1} }
| INT symbols { {ikey=string_of_int($1); itbl=$2; sign=1} }
+ | symbols { {ikey="1"; itbl=$1; sign=1}}
;
symbols:
More information about the Kalzium
mailing list