Consider the following example that shows the spirit of my problem:
ClearAll@"r`myPlot";
Options[r`myPlot] = {myOnlyOption -> 1};
r`myPlot[someArgs___, opts : OptionsPattern[{r`myPlot, Graphics}]] :=
Graphics[Circle[{0, 0}, OptionValue@"myOnlyOption"],
Axes -> True(*default is to show axes*),
FilterRules[{opts}, Options@Graphics]
]
r`myPlot[Axes -> False](*user overrode but axes will still show*)
r'myPlot shows a Circle of radius myOnlyOption. Any other Graphics' setting, the user may pass. When the user doesn't, some default behaviour is implemented.
- How to achieve this behaviour wherein a user may modify the value of some inherited options which when the user doesn't bother to set, get set to some default values?
Eg. the default behaviour is to show the axes. However, if the user deems so, they may be hidden. As seen in the output of above, this doesn't happen. Effectively the command being executed is Graphics[...,Axes->True,Axes->False] wherein repetitions get ignored and that is the problem.