* Packaging: This project should (to success) be used by lots of people so
a popular package like: org.osflash.usability.text might be
reasonable.
* Localisation: All the localisation should work seamlessy therefore I suggest something like
class ....EnglishLocale {
var find:String = "Find";
var matchCase:String = "Match case";
var highlightAll:String = "Highlight all";
}
and afterwards create a accessor like:
class ....Locale {
// handle's which locale should be used
public function getKey(key:String, params:Array) {
var result:String = locale[key].toString(params);
if (!result) {
return key;
}
return result;
}
}
* It is important that people can optimize search settings ( on custom way ) therefore i would provide a "Finder" interface like:
interface ...Finder {
public function find(term:String, inString:String, properties:SearchProperties):SearchResult;
}
class ...SearchProperties {
var caseSensitive:Boolean;
var regExpActive:Boolean;
var ....
}
class ...SearchResult {
var amount:Number;
var results:Array;
}
the benchmarking should be done outside of this process - to work for every implementation.
Of course those implementations should be added to the process somewhere
* The current way to initialize the application is too complex imho. I think its important for
"miniFlashers" to have ONE function that just includes everything (where he doesn't need to
bother about anything) like:
FlashFinder.use();
and it just indices every field and adds a on-the-fly textsearch by pressing a standard keyboard
shortcut like "Ctrl"+"F" (should be contained in the locale settings)
Further customisation should be possible of course:
var flashFinder:FlashFinder = FlashFinder.getInstance();
flashFinder.include(tF); // normal textfield adding to search
var textFieldResolver:TextFieldResover = new AutoTextFieldResolver(flashFinder, _root.mc); // automatically include all textfields
textFieldResolver.ignorePattern ("ui*"); // pattern for textfield Names that should be ignored
// custom UI
var myInterface = new SearchUserInterfaceImpl();
flashFinder.setUI(myUserInterface);
interface ... SearchUserInterface {
public function setFinder(finder:FlashFinder):Void;
public function onMapInfo(map:Object):Void;
public function onSearchInfo(info:Object):Void;
}
If you look at this apporach of setting up the stuff some of the methods you put in some of the classes are just at the wrong place.
Its just my thoughts - what do you think?
yours
Martin.
_______________________________________________ osflash mailing list [email protected] http://osflash.org/mailman/listinfo/osflash_osflash.org
