[Bf-committers] [Bf-blender-cvs] SVN commit: /data/svn/bf-blender [57153] trunk/blender/source/blender/ makesrna/intern/rna_text.c: Made text datablock properties 'is_in_memory' and 'is_dirty' editable in Python.

CoDEmanX codemanx at gmx.de
Fri May 31 21:27:22 CEST 2013


Vincent Akkermans' GSoC-project is about action replay, it will involve 
changes to the undo system:

http://wiki.blender.org/index.php/User:Ack-err/GSoC_2013/Proposal

That sounds like an occasion to also improve the text editor, since it 
shares the global undo and scripts get easily reverted to old states if 
a user tries to undo changes in the 3d view.

Text editor should
- have its own undo system
- not log every keystroke, but meaningful undo steps
- support undo/redo properly (it gets confused a lot currently and might 
remove or overwrite lines you never touched)
- handle internal / external files differently?

Not sure if Vincent will have a chance / is willing to tackle these, but 
if so, the way to pack/unpack/whatever texts might also need re-thinking.


Am 31.05.2013 20:45, schrieb Sergey Sharybin:
> That'd be really confusing situation when you'll set is-internal to False
> for the textblock which originally was internal. You'll basically loose all
> the data i guess.
>
> Also is_dirty pretty dangerous thing. Setting it to false will also lead to
> nothing else than confuse.
>
> This is probably acceptable for short-term solution, but for longer term
> is't more like a confusing way to reach the goal. And in context of recent
> API breakage discussing think it's better to support nice way of reaching
> the goal from the start, rather than breaking api later.
>
> And for long term, not sure how pack/unpack is different from
> make_internal/make_external. Sounds more like a pseudonyms to the same
> thing, and perhaps we could already call functions this way?
>
>
> On Sat, Jun 1, 2013 at 12:30 AM, Campbell Barton <ideasman42 at gmail.com>wrote:
>
>> I requested Tamito use flags rather then a function,
>> The reason for this is that making a text internal/external is fairly
>> low-level (not something regular script devs would care about
>> typically).
>> if you add make_internal() then theres the chance you'll want a
>> make_external() function (which could be OK but adds more API calls).
>>
>> Longer term, I think it would be good if we could have text that isn't
>> necessarily stored inside a blend file (like how images aren't stored
>> unless packed),
>> in that case text blocks can have pack(), unpack() functions as mentioned.
>>
>> On Sat, Jun 1, 2013 at 4:08 AM, Tamito KAJIYAMA
>> <rd6t-kjym at asahi-net.or.jp> wrote:
>>> Hi Sergey,
>>>
>>> Indeed .make_internal() was exactly what I was proposing initially.
>>> http://www.pasteall.org/42705/diff
>>> Then I was suggested to address the issue in the present way.
>>> I tend to agree with your opinion from the scripter perspective.
>>>
>>> --
>>> KAJIYAMA, Tamito <rd6t-kjym at asahi-net.or.jp>
>>>
>>>
>>> -----Original Message-----
>>> From: Sergey Sharybin
>>> Sent: Friday, May 31, 2013 10:17 AM
>>> To: Blender Developers
>>> Subject: Re: [Bf-committers] [Bf-blender-cvs] SVN commit:
>> /data/svn/bf-blender [57153] trunk/blender/source/blender/
>>> makesrna/intern/rna_text.c: Made text datablock properties
>> 'is_in_memory' and 'is_dirty' editable in Python.
>>>
>>> Hi,
>>>
>>> Not sure this is the best way to go. IMO this is rather confusing from
>>> scripter POV and confuses system a bit.
>>>
>>> Why not make it a TextBlock.make_internal() method? Name of the method is
>>> discussable -- could be pack/unpack to match other datablocks, but think
>>> callback is the way to go to achieve things you want :)
>>>
>>>
>>> On Fri, May 31, 2013 at 1:40 PM, Tamito Kajiyama
>>> <rd6t-kjym at asahi-net.or.jp>wrote:
>>>
>>>> Revision: 57153
>>>>
>>>>
>> http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=57153
>>>> Author:   kjym3
>>>> Date:     2013-05-31 07:40:03 +0000 (Fri, 31 May 2013)
>>>> Log Message:
>>>> -----------
>>>> Made text datablock properties 'is_in_memory' and 'is_dirty' editable in
>>>> Python.
>>>>
>>>> The rationale of this revision is to provide an easy way to make text
>>>> datablocks internal
>>>> from within Python (i.e., by setting these properties to True and the
>>>> 'filepath' property
>>>> to empty string).
>>>>
>>>> Modified Paths:
>>>> --------------
>>>>      trunk/blender/source/blender/makesrna/intern/rna_text.c
>>>>
>>>> Modified: trunk/blender/source/blender/makesrna/intern/rna_text.c
>>>> ===================================================================
>>>> --- trunk/blender/source/blender/makesrna/intern/rna_text.c
>> 2013-05-31
>>>> 06:28:11 UTC (rev 57152)
>>>> +++ trunk/blender/source/blender/makesrna/intern/rna_text.c
>> 2013-05-31
>>>> 07:40:03 UTC (rev 57153)
>>>> @@ -148,7 +148,6 @@
>>>>
>>>>          prop = RNA_def_property(srna, "is_dirty", PROP_BOOLEAN,
>> PROP_NONE);
>>>>          RNA_def_property_boolean_sdna(prop, NULL, "flags", TXT_ISDIRTY);
>>>> -       RNA_def_property_clear_flag(prop, PROP_EDITABLE);
>>>>          RNA_def_property_ui_text(prop, "Dirty", "Text file has been
>> edited
>>>> since last save");
>>>>
>>>>          prop = RNA_def_property(srna, "is_modified", PROP_BOOLEAN,
>>>> PROP_NONE);
>>>> @@ -158,7 +157,6 @@
>>>>
>>>>          prop = RNA_def_property(srna, "is_in_memory", PROP_BOOLEAN,
>>>> PROP_NONE);
>>>>          RNA_def_property_boolean_sdna(prop, NULL, "flags", TXT_ISMEM);
>>>> -       RNA_def_property_clear_flag(prop, PROP_EDITABLE);
>>>>          RNA_def_property_ui_text(prop, "Memory", "Text file is in
>> memory,
>>>> without a corresponding file on disk");
>>>>
>>>>          prop = RNA_def_property(srna, "use_module", PROP_BOOLEAN,
>>>> PROP_NONE);
>>>
>>> _______________________________________________
>>> Bf-committers mailing list
>>> Bf-committers at blender.org
>>> http://lists.blender.org/mailman/listinfo/bf-committers
>>
>>
>>
>> --
>> - Campbell
>> _______________________________________________
>> Bf-committers mailing list
>> Bf-committers at blender.org
>> http://lists.blender.org/mailman/listinfo/bf-committers
>>
>
>
>


More information about the Bf-committers mailing list