History log of /haiku/src/kits/interface/textview_support/StyleBuffer.cpp
Revision Date Author Comments
# 47205988 04-Feb-2015 John Scipione <jscipione@gmail.com>

Style fixes to StyleBuffer only


# 5fbf0afd 04-Feb-2015 Adrien Destugues <pulkomandy@gmail.com>

BTextView: add handling of B_FONT_FACE mask to SetFontAndColor

The B_FONT_FACE mask would be ignored, making it impossible to change
only the font face.

Thanks to samgtr for finding the bug!


# a58469f5 25-Sep-2010 Stephan Aßmus <superstippi@gmx.de>

Allow to set the false bold width in BTextView style runs.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38816 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 73af36d4 01-May-2009 Oliver Tappe <zooey@hirschkaefer.de>

* maintain width of 80 chars per line
* automatic whitespace cleanup

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30533 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 819c98a3 30-Apr-2009 Oliver Tappe <zooey@hirschkaefer.de>

Fixing #3040 (DeskCalcs textview showing wrong/multiple styles)
* fixed crash in StyleBuffer::SetStyleFromMode() if any of the given pointers
is NULL (which is perfectly valid)
* BTextView::SetFontAndColor() now syncs the null style before it sets the
range, thus making sure that there is only one style if the view is not
stylable

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30516 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a682d981 20-Sep-2008 Stephan Aßmus <superstippi@gmx.de>

Quite a cleanup action to avoid polluting the global namespace with private
BTextView classes:

* Declared the directly used BTextView helper classes as private BTextView
classes and changed all affected files.
* Realized that Tracker's BPoseView was (accidentally?) using what used to
be _BWidthBuffer_. It had declared it's own class with the same name and
same members/size in headers/private/tracker/TextViewSupport.h, but the
implementation was nowhere to be found. I can only explain this that
the BTextView implementation was then actually linked and used. But the big
problem was that it was used without locking (unlike in BTextView)! When
many Tracker windows opened during system startup or later and they happened
to each request characters not yet in the cache, I imagine things could have
gone bad and corrupted memory. Anyways, since I can see the usefulness of
the cache, BPoseView uses BTextView::WidthBuffer on purpose now. And I moved
the locking inside BTextView::WidthBuffer::StringWidth().
* Adjusted InterfaceDefs.cpp accordingly.
* TODO: Move subsequent classes into BTextView namespace as well, ie derived
classes that BTextView doesn't directly know about. All stuff in src/kits/
inteface/textview_support/
* Added preliminary and not yet implemented layout friendly BTextView
constructors.
* I will try to handle the insets imposed by BTextView::fTextRect a bit
differently when used inside the new layout management framework. For this,
I added BTextView::SetInsets() and GetInsets(). SetInsets() doesn't do
anything yet.

So far, everything seems to work still... ;-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27654 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 3a70724f 14-Sep-2006 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Finally nailed that bug which caused text not to be drawn in some cases... OffsetAt() was returning 1 instead of 0 if you clicked on an empty BTextView due to a bug in NextInitialByte() . Some cleanups

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18836 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b31b14e0 28-Aug-2006 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Renamed BTextView folder to textview_support


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18663 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 47205988db46c527dceb123204c01366d0209554 04-Feb-2015 John Scipione <jscipione@gmail.com>

Style fixes to StyleBuffer only


# 5fbf0afd91ededff33ec4af76a4b175a4c0ddf79 04-Feb-2015 Adrien Destugues <pulkomandy@gmail.com>

BTextView: add handling of B_FONT_FACE mask to SetFontAndColor

The B_FONT_FACE mask would be ignored, making it impossible to change
only the font face.

Thanks to samgtr for finding the bug!


# a58469f56e5cda081108cfff252d00cf638dfe78 25-Sep-2010 Stephan Aßmus <superstippi@gmx.de>

Allow to set the false bold width in BTextView style runs.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38816 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 73af36d459836af7c4afd2d87e22dabb55ca5133 01-May-2009 Oliver Tappe <zooey@hirschkaefer.de>

* maintain width of 80 chars per line
* automatic whitespace cleanup

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30533 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 819c98a3831dc7367a34fef6928d2e3b6a736358 30-Apr-2009 Oliver Tappe <zooey@hirschkaefer.de>

Fixing #3040 (DeskCalcs textview showing wrong/multiple styles)
* fixed crash in StyleBuffer::SetStyleFromMode() if any of the given pointers
is NULL (which is perfectly valid)
* BTextView::SetFontAndColor() now syncs the null style before it sets the
range, thus making sure that there is only one style if the view is not
stylable

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30516 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a682d9819fae1e26cef1390bb33b5d5c73304642 20-Sep-2008 Stephan Aßmus <superstippi@gmx.de>

Quite a cleanup action to avoid polluting the global namespace with private
BTextView classes:

* Declared the directly used BTextView helper classes as private BTextView
classes and changed all affected files.
* Realized that Tracker's BPoseView was (accidentally?) using what used to
be _BWidthBuffer_. It had declared it's own class with the same name and
same members/size in headers/private/tracker/TextViewSupport.h, but the
implementation was nowhere to be found. I can only explain this that
the BTextView implementation was then actually linked and used. But the big
problem was that it was used without locking (unlike in BTextView)! When
many Tracker windows opened during system startup or later and they happened
to each request characters not yet in the cache, I imagine things could have
gone bad and corrupted memory. Anyways, since I can see the usefulness of
the cache, BPoseView uses BTextView::WidthBuffer on purpose now. And I moved
the locking inside BTextView::WidthBuffer::StringWidth().
* Adjusted InterfaceDefs.cpp accordingly.
* TODO: Move subsequent classes into BTextView namespace as well, ie derived
classes that BTextView doesn't directly know about. All stuff in src/kits/
inteface/textview_support/
* Added preliminary and not yet implemented layout friendly BTextView
constructors.
* I will try to handle the insets imposed by BTextView::fTextRect a bit
differently when used inside the new layout management framework. For this,
I added BTextView::SetInsets() and GetInsets(). SetInsets() doesn't do
anything yet.

So far, everything seems to work still... ;-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27654 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 3a70724f430df4f06ff9d209ef7f02f2aaf6116c 14-Sep-2006 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Finally nailed that bug which caused text not to be drawn in some cases... OffsetAt() was returning 1 instead of 0 if you clicked on an empty BTextView due to a bug in NextInitialByte() . Some cleanups

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18836 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b31b14e033ffc2c4850235821c9390a151abd2c9 28-Aug-2006 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Renamed BTextView folder to textview_support


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18663 a95241bf-73f2-0310-859d-f6bbb57e9c96