The Interface Kit is long since "99% functional", so lists of modules
with what's-implemented-what's-not are not really helpful anymore.
The one (rather lengthy) file describing the unit testing system
set up by the IKTeam is indeed useful, so keep that.
Previously when we used Drupal, the icon guidelines there "shadowed"
the ones in this tree. Now that the git-based website reigns supreme,
we should not keep two copies around. I've chosen to preserve
the one in the website repository and trash this one because the icon
guidelines primarily target artists, not programmers (as just about
all other docs in this directory do.)
The only thing of any real use in this directory was the Be Newsletter
article, and the objdump from BeOS R5 (at least I guess that's what it is...)
so I kept those.
Revert "docs: promote SoftwareUpdater as easy tool to update Haiku."
This reverts commit 6487273924.
This reverts commit 8aab3a0d5e.
--
The Userguide and Welcome Guide are written and managed in the Userguide
Translator, not in the tree.
The welcome page was still saying the only way to update Haiku
is per command line. Not as much welcoming as one could expect
since SoftwareUpdater is now available.
Add SoftwareUpdater to the list of Haiku's applications in User Guide.
- Delete the introduction from the kits list page, as it is already
under locale_intro.
- Update the description in locale_intro.
- Since the locale kit now lives in libbe, delete the paragraph about
libraries from the intro, and move the still relevant part about
liblocalestub to the catalog translation macros description in
Catalog.dox.
* Sentence casing for the examples of menus etc.
* Use elipses instead of "..."
* As originally proposed in ticket #5010 [1], we went with removing
dynamic menu item labels, e.g. "Show grid" <-> "Hide grid" from
our apps (ProcessController, Magnify, etc.)
[1] https://dev.haiku-os.org/ticket/5010
- Strength is now set once, instead of at each comparison, to improve
performance and fix potential locking issues
- Add a way to enable "numeric" collation (aka "natural order")
There is no DATA directory in BeOS, and its FindDir() doesn't implement
it. No need for a confusing backwards compatibility to something that
doesn't exist (had my hopes up, was going to move some non-executable
files from AddOns to Data in a program that works in BeOS and Haiku).
The removed enum label doesn't change the directory_which enum order
or count, as it was aliasing the value of another existing enum label
(B_SYSTEM_DATA_DIRECTORY).
Fixes#13470
Signed-off-by: Axel Dörfler <axeld@pinc-software.de>
We bundle bitstream charter as a default font to use when nothing else
is available. We also used to bundle a Courier font, but it does not
work properly.
- Fix the license for Bitstream Charter, to include just the license and
no extra text.
- Add said license to AboutSystem
- Remove the Courier font from the package and from the source tree.
Fixes#11696.
This reverts commit 945566ff43.
As discussed on the mailing lists and with Humdinger off-list:
* The general design concensus tends slightly towards DejaVu, as metrics
of DejaVu look much better (DejaVu 12 and Noto 13 are roughly the same size,
but Noto has much wider margins with that)
* While Noto does have a wider set of fonts with support for lots of
different languages, DejaVu actually has built-in support for more
Unicode languages (the default Noto has, as far as I can tell, only
Latin/Greek/Cyrillic [2416 glyphs], while DejaVu also has Armenian, Georgian,
and a few other scripts too [5119 glyphs].)
* The worse rendering of DejaVu appears to have been somewhat rectified by
disabling the average-based subpixel filter in app_server.
This mostly reverts commit 75b219d35a.
The changes to the image URLs in Alert.dox are still needed, so I
didn't revert those.
As per discussion on the mailing list and IRC.
Since the "Layout" group is a member of the "Interface" group,
Doxygen automatically adds the "Interface" group to all pages
in the "Layout" group, meaning that having an explicit "ingroup Interface"
created duplicate group tags.
Surprisingly, after disabling the new Markdown support in the Doxyfile,
everything else pretty much worked out of the box. Only a number of CSS
changes were needed to adapt.
I wonder why nobody ever did this back in 2012 when 1.8 first came out...
Fixes#12710.
Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
I fixed the modifications to the Jamfiles in src/bin, they were all wrong
in the patch.
border vs. borders is confusing.
BTabView: Rename border param to borderStyle
BTabView docs: rename border param to borderStyle
enumerate border styles in docs
...instead of doubleBuffered for the flag that specifies whether or not to
draw using an offscreen buffer.
Also remove the (not currently used) text from the docs since the parameter
is being used.
The inseparable changes necessary to support live color updating across the
system in a sane, safe, and performant manner.
BView gains:
HasSystemColors()
HasDefaultColors()
AdoptSystemColors()
AdoptParentColors()
AdoptViewColor(BView*)
SetViewUIColor(color_which, float tint)
SetHighUIColor(...
SetLowUIColor(...
ViewUIColor(float* tint)
HighUIColor(...
LowUIColor(...
DelayedInvalidate()
BWindow gains a simple helper method:
IsOffscreenWindow()
BMessage gains:
AddColor()
FindColor()
GetColor()
HasColor() * allegedly this API is deprecated, but I implemented it anyway
ReplaceColor()
SetColor()
Previous private ColorTools methods are made public and moved into GraphicsDefs:
mix_color, blend_color, disable_color
These are fully compatible with BeOS dan0 R5.1 methods and are just code cleanup
of BeOS example code under the OpenTracker license.
In addition, four new colors are created:
B_LINK_TEXT_COLOR
B_LINK_HOVER_COLOR
B_LINK_ACTIVE_COLOR
B_LINK_VISITED_COLOR
These changes are documented in their proper user documentation files.
In addition, due to a history rewrite, B_FOLLOW_LEFT_TOP has been defined and
used in lieu of B_FOLLOW_TOP | B_FOLLOW_LEFT and is included in this commit.
On the app_server side, the following has changed:
Add DelayedMessage - a system by which messages can be sent at a scheduled time,
and can also be merged according to set rules. A single thread is used to service the
message queue and multiple recipients can be set for each message.
Desktop gains the ability to add message ports to a DelayedMessage so that
said messages can target either all applications or all windows, as needed.
Desktop maintains a BMessage which is used to queue up all pending color changes
and the delayed messaging system is used to enact these changes after a short
period of time has passed. This prevents abuse and allows the system to merge
repeated set_ui_color events into one event for client applications, improving
performance drastically.
In addition, B_COLORS_UPDATED is sent to the BApplication, which forwards the message
to each BWindow. This is done to improve performance over having the app_server
independently informing each window.
Decorator changes are live now, which required some reworking.
Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
* Sticky events are events that keep their signal raised, ie. even if
a job is initialized afterwards, it will still be triggered.
* Consolidated naming for external events.
* Events are now registered once they are actually being used. This
allows them to allocate the resources they need to do their thing.
This was missed when introducing the feature in hrev49558. Thanks Jérôme
for the pointer!
Also add a note explaining that update operations on cached entries and
the removal of uncached entries are safe.
Without this, Doxygen attempts to parse __attribute__ directives
and often outputs garbage instead of properly parsing them, so just
exclude them from the documentation.
Fixes some incorrect function listings in BString documentation
and possibly more elsewhere.
The last time this was discussed on the ML, the consensus was that
the text lists were nicer than the diagrams (with only one objection).
For the minority that wants class diagrams, it's easy enough to reverse
this one-line change.
* Automatic whitespace cleanup.
* Removed all of Midi2 from the "libbe" group, as they aren't part of it
* Get rid of the redundant "libmidi2" group, as all of midi2 is already in
the "MIDI 2 Kit" group, and the docs explicitly state that the MIDI 2 Kit
has its own library.
Works on Linux, doesn't work on Haiku. It appears xsltproc tries
to fetch the DTD and XSL stylesheets (which doesn't work, for some reason
it wasn't built with HTTP support, and I can't figure out why). Even
when telling it to use the preinstalled XSL & DTDs using --catalog,
it still tries to download the files...
DocBookCSS is a mostly-pure-CSS2 implementation of the DocBook standard.
Unlike DocBookXSL which relies on transforming the XML, it utilizes the
XML-styling features of modern web browsers to display the DocBook.
Its appearance still is a long way from the Haiku Book and Userguide, but
it looks (mostly) the same as the old DocBookXSL so we can stop using that.
Eventually we just need to make DocBookCSS use our styling.
Written by DarkWyrm, this user guide has been long since superseded by
the new HTML-based User Guide, which has everything this did and then
some, with the exception of the "History" section. That section
does seem like it could be useful somewhere, so I've moved it to
its own file in the "docs/misc" directory.
All of the other .dox files here list authors at the top of the file
in a standard (non-Doxygen) comment, so do the same here.
I've listed the file as copyright 2011, as (according to Git) that's
the last time it was functionally changed. I also added a few people
in as being authors of the file who seem to have made significant
changes to it.
...with notes from PulkoMandy and Axel. Also added author credits.
Class documentation is moved to the appropriate method and then \sa
is used to point to the documentation so it is only documented in
one location.
Added some text about how the interaction between BInvoker and
BHandler and/or BLooper works.
BMessenger needs to be documented to understand how SetTimeout() is
suppose to work, refer to BeBook for now.
* This was never implemented and no one noticed until now.
* A default value for a pointer doesn't make that much sense anyway, so
using the FindPointer method is fine.
Docset is an increasingly popular format that is used to generate
an index for HTML documentation that can be viewed by specialized
viewers such as Dash (on the Mac). The output can only be generated
on a Mac currently. Enabling the DOCSET parameter will generate a
Makefile in the html output directory, which can be used to generate
the Docset itself.
Enabling the Docset Makefile does not negatively impact other things,
as such it seems safe to just enable it for whoever wants to build
the docset on a mac.
This was available in R5 but somehow went missing from our version of
the Be Book (it is documented in the release notes in Tycom Systems
version). Document the more important methods of it, at least.
... based on Adrien's suggestions.
* Add \warning back to BView::ResizeToPreferred(), add \remark to highlight
methods only appropriate to use as part of a BLayout.
* Clarify BView::SetFont() method and refer to BFont docs.
* Clarify BStringView::SetText(), Text(), and Draw().
* add field descriptions for BStringView::Instantiate().
Created docs for NumberFormat, DateFormat, DateTimeFormat, and TimeFormat
and moved the docs from BLocale to the respective new file. Also
DurationFormat was updated as well.
doxygen once again compiles the docs without warnings.
This is based on Jalopeura's patch to #10191, however, there are some
changes.
From the patch:
* Make userlandfs use separate "interface definition" files for each
filesystem, so the netfs package can provide a configuration file
* Add a short document on how to use NetFS
* Various fixes to netfs to make it build again (volatile atomics)
* The netfs_mount script for easier use of NetFS
Additional fixes:
* Move netfs_mount and the interface description file to data/ in the
source tree
* Use strlcat instead of strcat to avoid a buffer overflow
* Some parts were already applied in previous commits
A lot of clarification.
Also, sometimes "the object" was used to refer to the BString you're doing
stuff to and sometimes "the BString" was used, settle on "the BString".
Keep the brief description as a regular comment above each public method.
Leave the docs of private methods.
Some variable renaming mostly because of abbreviations.
Add documentation for all the public methods and app_info members and defines
that didn't have docs in the cpp file.
While enums are presented much more clearly in the docs and the values didn't
change this apparently caused some issues so we're going back to using #defines.
Also update the docs changing the \var tags to \def tag and putting the description
in a \brief tag.
* Add \since directive to each method.
* Add documentation for BScrollBar and BScrollView classes.
* Title Case group titles.
* Some other minor documentation updates.
The biggest change is the addition of \since to each method. I've gone
through old versions of the BeBook and documented what version of BeOS
each method was introduced in. I'm only counting production releases
so I'm starting with BeOS R3 ignoring all DR and PR releases. Likewise,
all methods new to Haiku are listed as being introduced \since Haiku R1
ignoring alpha releases.
* Add info on Allwinner A10 SOCs, which may be a worthwile target.
* Add info about the Linaro QEmu for emulating the BeagleBoard.
* Add more TODOs for PM aftermath.
* Please read other documentation and code before trying to write any
documentation for Haiku. While any effort to improve our documentation
is welcome, adding non-sense to it is harmful. Writing proper
documentation is hard.
* Fixed spelling in a number of cases.
* Please don't write method names without (). Please use \a and \c to
mark the text accordingly.
* Update the Doxyfile for 1.7.6.1. Doxywizard reformatted the comments; that's why this change is so big
* Disable graph inheritance trees; use "Inherits/Inherited by" lists instead (Doxygen has this on by default; I don't think it was intentional)
* Shorten two subgroup names; helps with formatting in Doxygen 1.8 and looks cleaner
* Moves the page footer ("The Haiku Book pre-R1...") be in a <footer> tag, and add a CSS rule for this tag
* Disable XML output, no one is using it
* Disable Microsoft IDL parsing, speeds up Doxygen a bit
Add SetSupportedTypes() and SetIcon[ForType]() versions with an
additional bool updateMimeDB parameter. If false, the method doesn't
update the MIME DB entries for the type.
Remove the reimplemented hook methods groups because some
hook methods are there, some are not, unfortunately doxygen can’t
tell if a hook method just calls the default or does something else and
we tend to include all the hook methods even if we don’t actually make
any functional changes to them making the docs a bit more verbose
than they otherwise would be.
* "YES" causes all members of a class to be stuck in that class' page.
* No need to do that, there's a "List all members" page.
* This will make the docs a lot smaller and easier to read.
Signed-off-by: John Scipione <jscipione@gmail.com>
* Now takes ownership of headers, form data and input data
* Split Set* and Adopt* methods to help with proper use of this (Set
does a copy)
* Write documentation.
* imported asc-num.txt as a reference, was used to generate the asc sense table.
* use the sense asc and key tables to know which action and status codes are
to be applied.
* tested with an hard disk and a dvd reader.
* these tables could be reused by the scsi_periph module.
devfs_io() can't fall back to calling vfs_synchronous_io(), if the
device driver doesn't support handling requests asynchronously. The
presence of the io() hook leads the VFS (do_iterative_fd_io()) to
believe that asynchronous handling is supported and set a
finished-callback on the request which calls the io() hook to start the
next chunk. Thus, instead of iterating through the request in a loop
the iteration happens recursively. For sufficiently fragmented requests
the stack may overflow (ticket #9900).
* Introduce a new vnode operation supports_operation(). It can be called
by the VFS to determine whether a present hook is actually currently
supported for a given vnode.
* devfs: implement the new hook and remove the fallback handling in
devfs_io().
* vfs_request_io.cpp: use the new hook to determine whether the io()
hook is really supported.
...from orientation params. Elaborated type specifiers are not needed
for C++ code and removing them makes doxygen happy. Verified working
on both gcc2h and gcc4h builds.
* Fill out the Input related method descriptions and also some other updates
to method and variable descriptions.
* Document Graphics State Methods and a bunch of Drawing Related Methods
* Add a bunch more drawing method descriptions.
* Fill out the rest of the methods of the BView class.
Make it clear that the values provided by the escapement_delta struct are an
input to App Server which allows the user to specify extra horizontal space around each character and is not an output provided by App Server.
Also, lots of little cleanups: formatting, adding return statements and
return values where they were missing, fix spelling mistakes, add newlines to
separate command blocks, remove trailing whitespace.