Hiding column checkboxes for some rows only?

I would like a checkable checkbox on a parent, with no checkboxes on any of its children. According to my understanding and experience, this is currently not possible.

Just dropping in to add another voice wishing for granular control of checkboxes/checklists!

OmniOutliner provides so much beautiful granular control that the current checkbox implementation feelsā€¦out of place.

1 Like

+1 to the sentiment in this thread, and thank you for the back and forth.

For many of the documents I create, I only need to use checkboxes for a minority of the line items. Itā€™s therefore beneficial for me to be able to have row status OFF by default, and only turn it on for certain rows. Currently, the workaround requires me to turn row status ON by default, and turn it off forā€”almostā€”every new row I create.

Alternatively, if it were possible to integrate a setting or rule whereby the ā€œrow statusā€ was assumed based on adjacent rows or inherited by a parent (e.g., if a row is part of an entire nested list, of which all rows have ā€œnoneā€ for status, assign the newly-created row ā€œnoneā€ status).

1 Like

Just a quick ā€˜hand in the airā€™ for this feature. What I was looking for was a way to explicitly alter a Style to include/not include checkboxes. So, for example, my document right now needs checkboxes on most Level 3 rows - the ability to automatically apply checkboxes to these and no other Level by default would be a great help.

I agree that it would be useful to be able to remove checkboxes automatically from rows via a style setting. I may have a partial solution tif you are using the pro version. I have written an AppleScript that does the following.
(1) The script checks to see that the OO document has two level styles named ā€œTickList_Tickedā€ and ā€œTickList_UnTickedā€.
(2) It parses each row and if the row has one of these two styles set it looks at the status of the checkbox and applies the correct style, Ticked or UnTicked.
2.1 If the row does not have one of the two styles applied then the checkbox is hidden (row status is set to none)
Do not name any other level styles with a prefix of TickList.

The script is not very fast but quicker than doing it by hand. It is best used by placing it in the OO scripts folder and assigning a button to it. Careful use of fonts and colour goes partway to overcoming the low visibility of the checkboxes.

USE AT YOUR OWN RISK

best wishes
Simon

I have placed the script on this link https://www.dropbox.com/s/gofdswjmlxp2gd6/TickListsV1.scpt?dl=0

The script is listed here but the formatting gets mangled by the forum software.

(*
Version 1 dated 16th Jan 2020
Remove the check boxes from rows that are not styles with a level style
with a name starting with TickList. Next set a style according to the checkbox.

Ā© Simon Knight 2020.
Use at own risk I accept no liability for any problems that are attributed to this script.

Styles in document must include two level styles with a named

TickList_Ticked
TickList_UnTicked

*)
local oneRow

ā€“ set the variable TaskList to refer to the front OO document
set TaskList to front document of application ā€œOmniOutlinerā€

ā€“ Check that the document has at least one styles named TickListā€¦
ā€“ Calls a handler RequiredStyles
if RequiredStyles(TaskList) then
ā€“display dialog ā€œAll styles are definedā€
else
display dialog "This outline does not have the correct named styles to run this script ! " buttons ā€œCancelā€ default button 1
return ā€“ stops the script
end if

ā€“ Should be good to go.

tell front document of application ā€œOmniOutlinerā€

-- TRAP that a brand new document may not have any rows so trap for this condition
-- by creating a blank row if the document has no rows (i.e brand new document) - unlikely
if not (exists (last child of TaskList)) then
	tell TaskList
		make new row at end of every row
	end tell
end if

set StyleTicked to named style ("TickList_Ticked")
set StyleUnTicked to named style ("TickList_UnTicked")


repeat with oneRow in (get every row of TaskList)
	set tNameOfLvlStyle to ""
	set RowStyle to the style of oneRow
	try
		set tNameOfLvlStyle to the name of item 1 of the named style of RowStyle
	end try
	
	if tNameOfLvlStyle contains "TickList" then
		--The row has a checkbox so set the correct style
		remove every named style from every named style of style of oneRow
		if (state of oneRow is equal to checked) then
			add StyleTicked to every named style of style of oneRow
		else
			add StyleUnTicked to every named style of style of oneRow
		end if
		
	else
		-- row does not have a style of TickList so switch off the check box
		set the state of oneRow to none
	end if
end repeat

-- Save the updated oo file
try
	save TaskList
on error number errNum from badObj -- time out error handling
end try

end tell

on RequiredStyles(TaskList)
ā€“ declare the variables so that they show in script debugger debug mode
local StyleList, needList, aNamedStyle, NamesofNamedStylesList

tell front document of application "OmniOutliner"
	
	-- define an empty list varible to store a list of the names of the styles in the document
	set NamesofNamedStylesList to {}
	
	-- Read the styles into local variable StyleList
	-- Note this is not a list of names but of the styles which have properties such as name
	set StyleList to the named styles of TaskList
	
	-- populate the list with the names of the named styles
	repeat with aNamedStyle in StyleList
		copy name of aNamedStyle to end of NamesofNamedStylesList
	end repeat
	
	-- List the styles required by the parennt script
	set needList to {"TickList_Ticked", "TickList_UnTicked"}
	
	-- Compare the two lists and return
	repeat with nStyle in needList
		if NamesofNamedStylesList does not contain nStyle then
			return false
		end if
		return true
	end repeat
end tell

end RequiredStyles

Just circling back to say that I wound up migrating to OneNote OO never got it together with this feature. OneNote has 99 problems, but checklisting to-do items ainā€™t one.

+1

Basically I like to use a single document with 2 types of sections: tasks and outlines.

I realize I can use the ā€œSet Status to Noneā€ action, but that gets a bit tedious, as I have to clean up checkboxes after entering rows.

A happy medium would be to just inherit the Row Status when entering a new row. That way I can set up my sections once, and then forget about it.

Hi All, Does anyone know if we can hide, or mask, check boxes within certain cells?

Hi all, Does anyone know if we can hide, or mask, check boxes within certain cells?

Cells? Columns? No. Check boxes apply to the entire row, not the column.

Hi -

I definitely would like checkbox visibility to be assignable as part of a row style as well to make this easier.

I did just want to add that now, on the desktop version at least, you can assign ā€œSet Status -> Noneā€ to a keyboard command, which is way less fiddly than right click and selecting the menu item.

For such an expensive bit of software, itā€™s remarkable how many OO topics here are answered with, ā€œThat feature doesnā€™t existā€¦ You can hack around it like thisā€¦ā€, followed by some relatively complex series of steps for users to take.

Please note ā€” this isnā€™t to criticise the users posting these workarounds! Just an observation that this app really needs some attention, or a reappraisal in terms of how OO users actually use the software as opposed to how Omni developers imagine people are using it. Some of the design decisions seem wilfully awkward. Iā€™m sure theyā€™re not intended that way, of course, but I find myself using OO simply because I donā€™t want to pay for something else, and not because itā€™s actually pleasurable or yielding to what Iā€™d expect an outlining app to be.

1 Like

I dont get the rpoblem in this thread at all. Could somebody explain what the issue is?

OK say you have an outline and somewhere in that outline you need checkboxes in only some rows. What you have to do is view > show status checkboxes, and EVERY row gets one. Then you would have to select every row except the ones you want and Edit > Set Status to None. That will hide the checkboxes on the rows you donā€™t want to see any, but whenever a new row is created, it gets a status checkboxā€¦
So thatā€™s the problem.
What (I think) most users want, is row level control, so you select the rows you want checkboxes, then in the inspector add them. Rather than a whole of document, all or nothing approach. The current situation degrades the usability of check boxes, I keep hoping row level control will be added but automation seems to be the priority.

Just to add to what @GrantSt said above: Iā€™m in a meeting, taking notes in OO and some of those notes entail actions. I might want to have a checkbox for the action items, but not the remainder of my notes. Or I might be reviewing the notes later on and want to mark some of them as requiring an action by adding a checkbox.

I might also want to filter my notes down to those with a checkbox for reporting or export.

Other outlines support this (Curio and Tinderbox are ones Iā€™m aware of, but there are others).

1 Like

6 year old thread thoughā€¦we live in hope

1 Like

Thans for explaining. Now I fully understand and Im asking ymself why it is not being implementedā€¦