Reverted resource references for combine_something, you can't use tool_image here, because on MSW that only works for .bmps'

Added dependency stuff to invalidate Choice images;
Fixed 'duplicate' in symbol editor

git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@197 0fc631ac-6414-0410-93d0-97cfa31319b6
This commit is contained in:
twanvl
2007-02-07 16:17:15 +00:00
parent 504269e903
commit b93e5b2ae3
19 changed files with 109 additions and 33 deletions
+8 -5
View File
@@ -19,7 +19,7 @@ DECLARE_TYPEOF_COLLECTION(ChoiceField::ChoiceP);
class ChoiceThumbnailRequest : public ThumbnailRequest {
public:
ChoiceThumbnailRequest(ChoiceValueEditor* cve, int id);
ChoiceThumbnailRequest(ChoiceValueEditor* cve, int id, bool from_disk);
virtual Image generate();
virtual void store(const Image&);
private:
@@ -27,11 +27,13 @@ class ChoiceThumbnailRequest : public ThumbnailRequest {
int id;
};
ChoiceThumbnailRequest::ChoiceThumbnailRequest(ChoiceValueEditor* cve, int id)
ChoiceThumbnailRequest::ChoiceThumbnailRequest(ChoiceValueEditor* cve, int id, bool from_disk)
: ThumbnailRequest(
cve,
cve->viewer.stylesheet->name() + _("/") + cve->field().name + _("/") << id,
cve->viewer.stylesheet->lastModified())
from_disk ? cve->viewer.stylesheet->lastModified()
: wxDateTime::Now()
)
, stylesheet(cve->viewer.stylesheet)
, id(id)
{}
@@ -195,10 +197,11 @@ void DropDownChoiceList::generateThumbnailImages() {
for (int i = 0 ; i < end ; ++i) {
String name = cannocial_name_form(group->choiceName(i));
ScriptableImage& img = cve.style().choice_images[name];
if (i >= image_count || !img.upToDate(ctx, cve.style().thumbnail_age)) {
bool up_to_date = img.upToDate(ctx, cve.style().thumbnail_age);
if (i >= image_count || !up_to_date) {
// TODO : handle the case where image i was previously skipped
// request this thumbnail
thumbnail_thread.request( new_shared2<ChoiceThumbnailRequest>(&cve, i) );
thumbnail_thread.request( new_shared3<ChoiceThumbnailRequest>(&cve, i, up_to_date && !cve.style().invalidated_images) );
}
}
cve.style().thumbnail_age.update();