Gerd Lorscheid wrote: > Hello, > > What I have implemented is the following: > I have added a checkbox, which controls whether the games in the list are > filtered by the actual position. Ok, the user interface is perfect in my opinion. Can we try to discuss how to do that, maybe starting with making a common c++ backend.?
First of all i want to delete the function: updateMainFilter( scidBaseT * dbase) (BTW, Filter::Merge is a misleading name. When i encountered: "dbase->filter->Merge (dbase->treeFilter, dbase->dbFilter);" i expected dbase->filter to become itself more dbase->treeFilter more dbase->dbFilter. Is "dbase->filter = dbase->treeFilter & dbase->dbFilter;" clearer, isn't it? ) Let's try to use the common database->query->view terminology. - One file.si4 is a database - dbFilter is a query in that database - treeFilter is a different query in that database - The "Game List" window is the view of the dbFilter query - The "Tree" window is the view of the treeFilter query Obviously each query needs to be completely separated and independent. This is a basic stuff, so i suppose there is no need to argue. IMHO, what we need to do: 1) The sc_tree functions should change only the dbase->treeFilter 2) The sc_search functions should change only the dbase->dbFilter 3) When the "Game List" window wants a query of dbFilter & "the current board position" we deal with that (your approach of calling sc_tree_search is the cleanest, but is the slowest too) Do we agree on this? ------------------------------------------------------------------------------ Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)! Finally, a world-class log management solution at an even better price-free! Download using promo code Free_Logger_4_Dev2Dev. Offer expires February 28th, so secure your free ArcSight Logger TODAY! http://p.sf.net/sfu/arcsight-sfd2d _______________________________________________ Scid-users mailing list Scid-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/scid-users