Browse Source

SheetViewOptionPtr: document that it is a superset of SheetViewOption

Document in type system (not just in text for humans) that
all SheetViewOptionPtr are also SheetViewOption (well, if not nil).
This improves documentation visible with godoc but this simple change
also allows more flexibility to manipulate SheetViewOption programatically
such as saving and restoring values:

	var opt excelize.ShowFormulas
	opt = new(excelize.ShowFormulas)
	_ = xl.GetSheetViewOptions(sheet, -1, opt)
	_ = xl.SetSheetViewOptions(sheet, -1, opt)
Olivier Mengué 8 years ago
parent
commit
d2fb0197ab
2 changed files with 7 additions and 0 deletions
  1. 1 0
      sheetview.go
  2. 6 0
      sheetview_test.go

+ 1 - 0
sheetview.go

@@ -9,6 +9,7 @@ type SheetViewOption interface {
 
 // SheetViewOptionPtr is a writable SheetViewOption. See GetSheetViewOptions().
 type SheetViewOptionPtr interface {
+	SheetViewOption
 	getSheetViewOption(view *xlsxSheetView)
 }
 

+ 6 - 0
sheetview_test.go

@@ -13,6 +13,12 @@ var _ = []excelize.SheetViewOption{
 	excelize.ShowFormulas(false),
 	excelize.ShowGridLines(true),
 	excelize.ShowRowColHeaders(true),
+	// SheetViewOptionPtr are also SheetViewOption
+	new(excelize.DefaultGridColor),
+	new(excelize.RightToLeft),
+	new(excelize.ShowFormulas),
+	new(excelize.ShowGridLines),
+	new(excelize.ShowRowColHeaders),
 }
 
 var _ = []excelize.SheetViewOptionPtr{