Skip to content

Commit 4247d7d

Browse files
committed
all methods implemented
1 parent f270b64 commit 4247d7d

File tree

1 file changed

+17
-15
lines changed

1 file changed

+17
-15
lines changed

src/matrixview.c

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -225,18 +225,20 @@ matrixview_scan( View *view )
225225
int x, y;
226226
GtkTreeIter iter;
227227

228-
printf( "scanning!\n" );
229-
230228
gtk_tree_model_get_iter_first( tree, &iter );
231229

232230
for( y = 0; y < height; y++ ) {
233231
for( x = 0; x < width; x++ ) {
232+
double *out = &matrix->value.coeff[x + y * width];
233+
234234
double d;
235235

236236
gtk_tree_model_get( tree, &iter, x, &d, -1 );
237-
matrix->value.coeff[x + y * width] = d;
238237

239-
printf( "%d, %d = %g\n", x, y, d );
238+
if( *out != d ) {
239+
*out = d;
240+
changed = TRUE;
241+
}
240242
}
241243

242244
gtk_tree_model_iter_next( tree, &iter );
@@ -477,6 +479,8 @@ matrixview_liststore_new( MatrixValue *matrixvalue )
477479
int i, y;
478480
GtkListStore *store;
479481

482+
printf( "matrixview_liststore_new\n" );
483+
480484
types = g_new( GType, width );
481485
for( i = 0; i < width; i++ )
482486
types[i] = G_TYPE_DOUBLE;
@@ -512,8 +516,6 @@ matrixview_edited( GtkCellRendererText *renderer,
512516
x, atof( new_text ),
513517
-1 );
514518

515-
printf( "matrixview_edited: %s %d = %s\n", path, x, new_text );
516-
517519
view_scannable_register( VIEW( matrixview ) );
518520
symbol_recalculate_all();
519521
}
@@ -988,26 +990,26 @@ matrixview_text_refresh( Matrixview *matrixview )
988990
MatrixValue *matrixvalue = &matrix->value;
989991
int width = matrixvalue->width;
990992
int height = matrixvalue->height;
991-
GtkListStore *store = matrixview->store;
993+
GtkTreeModel *tree = GTK_TREE_MODEL( matrixview->store );
992994

993-
int i, y;
995+
int x, y;
996+
GtkTreeIter iter;
994997

995998
if( !matrixvalue->coeff )
996999
return;
9971000

9981001
matrixview_text_set( matrixview, matrixview->scale, matrix->scale );
9991002
matrixview_text_set( matrixview, matrixview->offset, matrix->offset );
10001003

1001-
gtk_list_store_clear( store );
1004+
gtk_tree_model_get_iter_first( tree, &iter );
10021005

10031006
for( y = 0; y < height; y++ ) {
1004-
GtkTreeIter iter;
1005-
1006-
gtk_list_store_append( store, &iter );
1007+
for( x = 0; x < width; x++ )
1008+
gtk_list_store_set( matrixview->store, &iter,
1009+
x, matrixvalue->coeff[x + y * width],
1010+
-1 );
10071011

1008-
for( i = 0; i < width; i++ )
1009-
gtk_list_store_set( store, &iter,
1010-
i, matrixvalue->coeff[y * width + i], -1 );
1012+
gtk_tree_model_iter_next( tree, &iter );
10111013
}
10121014
}
10131015
#endif /*!USE_GTKSHEET*/

0 commit comments

Comments
 (0)