GTK+ CSSGTK+ CSS — Overview of CSS in GTK+ |
This chapter describes in detail how GTK+ uses CSS for styling and layout.
We loosely follow the CSS value definition specification in the formatting of syntax productions.
| Nonterminals are enclosed in angle backets (〈〉), all other strings that are not listed here are literals |
| Juxtaposition means all components must occur, in the given order |
| A double ampersand (&&) means all components must occur, in any order |
| A double bar (||) means one or more of the components must occur, in any order |
| A single bar (|) indicates an alternative; exactly one of the components must occur |
| Brackets ([]) are used for grouping |
| A question mark (?) means that the preceding component is optional |
| An asterisk (*) means zero or more copies of the preceding component |
| A plus (+) means one or more copies of the preceding component |
| A number in curly braces ({n}) means that the preceding component occurs exactly n times |
| Two numbers in curly braces ({m,n}) mean that the preceding component occurs at least m times and at most n times |
GTK+ applies the style information found in style sheets by matching the selectors against a tree of nodes. Each node in the tree has a name, a state and possibly style classes. The children of each node are linearly ordered.
Every widget has one or more of these CSS nodes, and determines their name, state, style classes and how they are layed out as children and siblings in the overall node tree. The documentation for each widget explains what CSS nodes it has.
Example 6. The CSS nodes of a GtkScale
1 2 3 4 5 6 7 8 9 10 11 12 13 |
scale[.fine-tune] ├── marks.top │ ├── mark ┊ ┊ │ ╰── mark ├── trough │ ├── slider │ ├── [highlight] │ ╰── [fill] ╰── marks.bottom ├── mark ┊ ╰── mark |
The basic structure of the style sheets understood by GTK+ is a series of statements, which are either rule sets or “@-rules”, separated by whitespace.
A rule set consists of a selector and a declaration block, which is a series of declarations enclosed in curly braces. The declarations are separated by semicolons. Multiple selectors can share the same declaration block, by putting all the separators in front of the block, separated by commas.
Example 7. A rule set with two selectors
1 2 3 4 |
button, entry { color: #ff00ea; font: Comic Sans 12 } |
GTK+ supports the CSS @import rule, in order to load another style sheet in addition to the currently parsed one.
The syntax for @import rules is as follows:
〈import rule〉 = @import [ 〈url〉 | 〈string〉] ;
〈url〉 = url( 〈string〉)
To learn more about the @import rule, you can read the Cascading module of the CSS specification.
Selectors work very similar to the way they do in CSS.
All widgets have one or more CSS nodes with element names and style classes. When style classes are used in selectors, they have to be prefixed with a period. Widget names can be used in selectors like IDs. When used in a selector, widget names must be prefixed with a # character.
In more complicated situations, selectors can be combined in various ways. To require that a node satisfies several conditions, combine several selectors into one by concatenating them. To only match a node when it occurs inside some other node, write the two selectors after each other, separated by whitespace. To restrict the match to direct children of the parent node, insert a > character between the two selectors.
Example 9. Theme labels that are descendants of a window
1 2 3 |
window label { background-color: #898989 } |
Example 11. Theme combo boxes, and entries that are direct children of a notebook
1 2 3 4 5 |
combobox, notebook > entry { color: @fg_color; background-color: #1209a2 } |
It is possible to select CSS nodes depending on their position amongst their siblings by applying pseudo-classes to the selector, like :first-child, :last-child or :nth-child(even). When used in selectors, pseudo-classes must be prefixed with a : character.
Example 17. Theme labels in the first notebook tab
1 2 3 |
notebook tab:first-child label { color: #89d012; } |
Another use of pseudo-classes is to match widgets depending on their state. The available pseudo-classes for widget states are :active, :hover :disabled, :selected, :focus, :indeterminate, :checked and :backdrop. In addition, the following pseudo-classes don't have a direct equivalent as a widget state: :dir(ltr) and :dir(rtl) (for text direction), :link and :visited (for links) and :drop(active) (for highlighting drop targets). Widget state pseudo-classes may only apply to the last element in a selector.
Example 19. Theme buttons with the mouse pointer over it
1 2 3 |
button:hover { background-color: #3085a9; } |
Example 21. Theme checkbuttons that are checked
1 2 3 |
checkbutton:checked { background-color: #56f9a0; } |
Example 23. Theme inconsistent checkbuttons
1 2 3 |
checkbutton:indeterminate { background-color: #20395a; } |
To determine the effective style for a widget, all the matching rule sets are merged. As in CSS, rules apply by specificity, so the rules whose selectors more closely match a node will take precedence over the others.
The full syntax for selectors understood by GTK+ can be found in the table below. The main difference to CSS is that GTK+ does not currently support attribute selectors.
Table 1. Selector syntax
| Pattern | Matches | Reference | Notes |
|---|---|---|---|
| * | any node | CSS | |
| E | any node with name E | CSS | |
| E.class | any E node with the given style class | CSS | |
| E#id | any E node with the given ID | CSS | GTK+ uses the widget name as ID |
| E:nth‑child(〈nth‑child〉) | any E node which is the n-th child of its parent node | CSS | |
| E:nth‑last‑child(〈nth‑child〉) | any E node which is the n-th child of its parent node, counting from the end | CSS | |
| E:first‑child | any E node which is the first child of its parent node | CSS | |
| E:last‑child | any E node which is the last child of its parent node | CSS | |
| E:only‑child | any E node which is the only child of its parent node | CSS | Equivalent to E:first-child:last-child |
| E:link, E:visited | any E node which represents a hyperlink, not yet visited (:link) or already visited (:visited) | CSS | Corresponds to GTK_STATE_FLAG_LINK and GTK_STATE_FLAGS_VISITED |
| E:active, E:hover, E:focus | any E node which is part of a widget with the corresponding state | CSS | Corresponds to GTK_STATE_FLAG_ACTIVE, GTK_STATE_FLAG_PRELIGHT and GTK_STATE_FLAGS_FOCUSED; GTK+ also allows E:prelight and E:focused |
| E:disabled | any E node which is part of a widget with is disabled | CSS | Corresponds to GTK_STATE_FLAG_INSENSITIVE; GTK+ also allows E:insensitive |
| E:checked | any E node which is part of a widget (e.g. radio- or checkbuttons) which is checked | CSS | Corresponds to GTK_STATE_FLAG_CHECKED |
| E:indeterminate | any E node which is part of a widget (e.g. radio- or checkbuttons) which is in an inconsistent state | CSS3, CSS4 | Corresponds to GTK_STATE_FLAG_INCONSISTENT; GTK+ also allows E:inconsistent |
| E:backdrop, E:selected | any E node which is part of a widget with the corresponding state | Corresponds to GTK_STATE_FLAG_BACKDROP, GTK_STATE_FLAG_SELECTED | |
| E:not(〈selector〉) | any E node which does not match the simple selector 〈selector〉 | CSS | |
| E:dir(ltr), E:dir(rtl) | any E node that has the corresponding text direction | CSS4 | |
| E:drop(active) | any E node that is an active drop target for a current DND operation | CSS4 | |
| E F | any F node which is a descendent of an E node | CSS | |
| E > F | any F node which is a child of an E node | CSS | |
| E ~ F | any F node which is preceded by an E node | CSS | |
| E + F | any F node which is immediately preceded by an E node | CSS |
〈nth-child〉 = even | odd | 〈integer〉 | 〈integer〉n | 〈integer〉n [ + | - ] 〈integer〉
To learn more about selectors in CSS, read the Selectors module of the CSS specification.
CSS allows to specify colors in various ways, using numeric values or names from a predefined list of colors.
〈color〉 = currentColor | transparent | 〈color name〉 | 〈rgb color〉 | 〈rgba color〉 | 〈hex color〉 | 〈gtk color〉
〈rgb color 〉 = rgb( 〈number〉, 〈number〉, 〈number〉 ) | rgb( 〈percentage〉, 〈percentage〉, 〈percentage〉 )
〈rgba color 〉 = rgba(〈number〉, 〈number〉, 〈number〉, 〈alpha value〉) | rgba( 〈percentage〉, 〈percentage〉, 〈percentage〉, 〈alpha value〉 )
〈hex color〉 = #〈hex digits〉
〈alpha value〉 = 〈number〉
, clamped to values between 0 and 1
The keyword currentColor resolves to the current value of the color property when used in another property, and to the inherited value of the color property when used in the color property itself.
The keyword transparent can be considered a shorthand for rgba(0,0,0,0).
For a list of valid color names and for more background on colors in CSS, see the Color module of the CSS specification.
Example 24. Specifying colors in various ways
1 2 3 4 5 6 |
color: transparent; background-color: red; border-top-color: rgb(128,57,0); border-left-color: rgba(10%,20%,30%,0.5); border-right-color: #ff00cc; border-bottom-color: #ffff0000cccc; |
GTK+ adds several additional ways to specify colors.
〈gtk color〉 = 〈symbolic color〉 | 〈color expression〉| 〈win32 color〉
The first is a reference to a color defined via a @define-color rule. The syntax for @define-color rules is as follows:
〈define color rule〉 = @define-color 〈name〉 〈color〉
To refer to the color defined by a @define-color rule, use the name from the rule, prefixed with @.
〈symbolic color〉 = @〈name〉
Example 25. An example for defining colors
1 2 3 4 5 |
@define-color bg_color #f9a039; * { background-color: @bg_color; } |
GTK+ also supports color expressions, which allow colors to be transformed to new ones and can be nested, providing a rich language to define colors. Color expressions resemble functions, taking 1 or more colors and in some cases a number as arguments.
shade() leaves the color unchanged when the number is 1 and transforms it to black or white as the number approaches 0 or 2 respectively. For mix(), 0 or 1 return the unaltered 1st or 2nd color respectively; numbers between 0 and 1 return blends of the two; and numbers below 0 or above 1 intensify the RGB components of the 1st or 2nd color respectively. alpha() takes a number from 0 to 1 and applies that as the opacity of the supplied color.
〈color expression〉 = lighter(〈color〉) | darker(〈color〉) | shade(〈color〉,〈number〉) | alpha(〈color〉,〈number〉) | mix(〈color〉,〈color〉,〈number〉)
On Windows, GTK+ allows to refer to system colors, as follows:
〈win32 color〉 = -gtk-win32-color( 〈name〉, 〈integer〉)
CSS allows to specify images in various ways, for backgrounds and borders.
〈image〉 = 〈url〉 | 〈crossfade〉 | 〈alternatives〉 | 〈gradient〉 | 〈gtk image〉
〈crossfade〉 = cross-fade( 〈percentage〉, 〈image〉, 〈image〉)
〈alternatives〉 = image([ 〈image〉, ]* [ 〈image〉 | 〈color〉 ])
〈gradient〉 = 〈linear gradient〉 | 〈radial gradient〉
〈linear gradient〉 = [ linear-gradient | repeating-linear-gradient ] (
[ [ 〈angle〉 | to 〈side or corner〉 ] , ]?
〈color stops〉 )
〈radial gradient〉 = [ radial‑gradient | repeating‑radial‑gradient ] (
[ [ 〈shape〉 || 〈size〉 ] [ at 〈position〉 ]? , | at 〈position〉, ]?
〈color stops〉 )
〈side or corner〉 = [ left | right ] || [ top | bottom ]
〈color stops〉 = 〈color stop〉 [ , 〈color stop〉]+
〈color stop〉 = 〈color〉 [ 〈percentage〉 | 〈length〉 ]?
〈shape〉 = circle | ellipse
〈size〉 = 〈extent keyword〉 | 〈length〉 | [ 〈length〉 | 〈percentage〉 ]{1,2}
〈extent keyword〉 = closest-size | farthest-side | closest-corner | farthest-corner
The simplest way to specify an image in CSS is to load an image file from a URL. CSS does not specify anything about supported file formats; within GTK+, you can expect at least PNG, JPEG and SVG to work. The full list of supported image formats is determined by the available gdk-pixbuf image loaders and may vary between systems.
A crossfade lets you specify an image as an intermediate between two images. Crossfades are specified in the draft of the level 4 Image module of the CSS specification.
Example 27. Crossfading two images
1 2 3 |
button { background-image: cross-fade(50%, url("water-lily.png"), url("buffalo.jpg")); } |
The image() syntax provides a way to specify fallbacks in case an image format may not be supported. Multiple fallback images can be specified, and will be tried in turn until one can be loaded successfully. The last fallback may be a color, which will be rendered as a solid color image.
Example 28. Image fallback
1 2 3 |
button { background-image: image(url("fancy.svg"), url("plain.png"), green); } |
Gradients are images that smoothly fades from one color to another. CSS provides ways to specify repeating and non-repeating linear and radial gradients. Radial gradients can be circular, or axis-aligned ellipses. In addition to CSS gradients, GTK+ has its own -gtk-gradient extensions.
A linear gradient is created by specifying a gradient line and then several colors placed along that line. The gradient line may be specified using an angle, or by using direction keywords.
Example 29. Linear gradients
1 2 3 4 5 6 |
button { background-image: linear-gradient(45deg, yellow, blue); } label { background-image: linear-gradient(to top right, blue 20%, #f0f 80%); } |
A radial gradient is created by specifying a center point and one or two radii. The radii may be given explicitly as lengths or percentages or indirectly, by keywords that specify how the end circle or ellipsis should be positioned relative to the area it is derawn in.
Example 30. Radial gradients
1 2 3 4 5 6 |
button { background-image: radial-gradient(ellipse at center, yellow 0%, green 100%); } label { background-image: radial-gradient(circle farthest-side at left bottom, red, yellow 50px, green); } |
To learn more about gradients in CSS, including details of how color stops are placed on the gradient line and keywords for specifying radial sizes, you can read the Image module of the CSS specification.
GTK+ extends the CSS syntax for images and also uses it for specifying icons.
〈gtk image〉 = 〈gtk gradient〉 | 〈themed icon〉 | 〈scaled image〉 | 〈recolored image〉 | 〈win32 theme part〉
GTK+ supports an alternative syntax for linear and radial gradients (which was implemented before CSS gradients were supported).
〈gtk gradient〉 = 〈gtk linear gradient〉 | 〈gtk radial gradient〉
〈gtk linear gradient〉 = -gtk-gradient(linear,
[ 〈x position〉 〈y position〉 , ]{2}
〈gtk color stops〉 )
〈gtk radial gradient〉 = -gtk-gradient(radial,
[ 〈x position〉 〈y position〉 , 〈radius〉 , ]{2}
〈gtk color stops〉 )
〈x position〉 = left | right | center | 〈number〉
〈y position〉 = top | bottom | center | 〈number〉
〈radius 〉 = 〈number〉
〈gtk color stops〉 = 〈gtk color stop〉 [ , 〈gtk color stop〉 ]+
〈gtk color stop〉 = color-stop( 〈number〉 , 〈color〉 ) | from( 〈color〉 ) | to( 〈color〉 )
The numbers used to specify x and y positions, radii, as well as the positions of color stops, must be between 0 and 1. The keywords for for x and y positions (left, right, top, bottom, center), map to numeric values of 0, 1 and 0.5 in the obvious way. Color stops using the from() and to() syntax are abbreviations for color-stop with numeric positions of 0 and 1, respectively.
Example 31. Linear gradients
1 2 3 4 5 6 7 8 9 10 11 12 |
button { background-image: -gtk-gradient (linear, left top, right bottom, from(@yellow), to(@blue)); } label { background-image: -gtk-gradient (linear, 0 0, 0 1, color-stop(0, @yellow), color-stop(0.2, @blue), color-stop(1, #0f0)); } |
Example 32. Radial gradients
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
button { background-image: -gtk-gradient (radial, center center, 0, center center, 1, from(@yellow), to(@green)); } label { background-image: -gtk-gradient (radial, 0.4 0.4, 0.1, 0.6 0.6, 0.7, color-stop(0, #f00), color-stop(0.1, $a0f), color-stop(0.2, @yellow), color-stop(1, @green)); } |
GTK+ has extensive support for loading icons from icon themes. It is accessible from CSS with the -gtk-icontheme syntax.
〈themed icon〉 = -gtk-icontheme( 〈icon name〉 )
The specified icon name is used to look up a themed icon, while taking into account the values of the -gtk-icon-theme and -gtk-icon-palette properties. This kind of image is mainly used as value of the -gtk-icon-source property.
Example 33. Using themed icons in CSS
1 2 3 4 5 6 7 8 |
spinner { -gtk-icon-source: -gtk-icontheme('process-working-symbolic'); -gtk-icon-palette: success blue, warning #fc3, error magenta; } arrow.fancy { -gtk-icon-source: -gtk-icontheme('pan-down'); -gtk-icon-theme: 'Oxygen'; } |
GTK+ supports scaled rendering on hi-resolution displays. This works best if images can specify normal and hi-resolution variants. From CSS, this can be done with the -gtk-scaled syntax.
〈scaled image〉 = -gtk-scaled( 〈image〉[, 〈image〉]* )
While -gtk-scaled accepts multiple higher-resolution variants, in practice, it will mostly be used to specify a regular image and one variant for scale 2.
Example 34. Scaled images in CSS
1 2 3 4 |
arrow { -gtk-icon-source: -gtk-scaled(url('my-arrow.png'), url('my-arrow@2.png')); } |
〈recolored image〉 = -gtk-recolored( 〈url〉[, 〈color palette〉] )
Symbolic icons from the icon theme are recolored according to the -gtk-icon-palette property. The recoloring is sometimes needed for images that are not part of an icon theme, and the -gtk-recolor syntax makes this available. -gtk-recolor requires a url as first argument. The remaining arguments specify the color palette to use. If the palette is not explicitly specified, the current value of the -gtk-icon-palette property is used.
Example 35. Recoloring an image
1 2 3 |
arrow { -gtk-icon-source: -gtk-recolor(url('check.svg'), success blue, error rgb(255,0,0)); } |
On Windows, GTK+ allows to refer to system theme parts as images, as follows:
〈win32 theme part〉 = -gtk-win32-theme-part( 〈name〉, 〈integer〉 〈integer〉
[, [ over( 〈integer〉 〈integer〉 [ , 〈alpha value〉]? ) | margins( 〈integer〉{1,4} ) ] ]* )
CSS defines a mechanism by which changes in CSS property values can be made to take effect gradually, instead of all at once. GTK+ supports these transitions as well.
To enable a transition for a property when a rule set takes effect, it needs to be listed in the transition-property property in that rule set. Only animatable properties can be listed in the transition-property.
The details of a transition can modified with the transition-duration, transition-timing-function and transition-delay properties.
To learn more about transitions, you can read the Transitions module of the CSS specification.
In addition to transitions, which are triggered by changes of the underlying node tree, CSS also supports defined animations. While transitions specify how property values change from one value to a new value, animations explicitly define intermediate property values in keyframes.
Keyframes are defined with an @-rule which contains one or more of rule sets with special selectors. Property declarations for nonanimatable properties are ignored in these rule sets (with the exception of animation properties).
〈keyframe rule〉 = @keyframes 〈name〉 { 〈animation rule〉 }
〈animation rule〉 = 〈animation selector〉 { 〈declaration〉* }
〈animation selector〉 = 〈single animation selector〉 [ , 〈single animation selector ]*
〈single animation selector〉 = from | to | 〈percentage〉
To enable an animation, the name of the keyframes must be set as the value of the animation-name property. The details of the animation can modified with the animation-duration, animation-timing-function, animation-iteration-count and other animation properties.
Example 36. A CSS animation
1 2 3 4 5 6 7 8 9 10 |
@keyframes spin { to { -gtk-icon-transform: rotate(1turn); } } spinner { animation-name: spin; animation-duration: 1s; animation-timing-function: linear; animation-iteration-count: infinite; } |
To learn more about animations, you can read the Animations module of the CSS specification.
In order to extend key bindings affecting different widgets, GTK+ supports the @binding-set rule to parse a set of bind/unbind directives. Note that in order to take effect, the binding sets defined in this way must be associated with rule sets by setting the -gtk-key-bindings property.
The syntax for @binding-set rules is as follows:
〈binding set rule〉 = @binding-set 〈binding name〉{ [ [ 〈binding〉 | 〈unbinding〉] ; ]* }
〈binding〉 = bind "〈accelerator〉" { 〈signal emission〉* }
〈signal emission〉 = "〈signal name〉" ( [ 〈argument〉[ , 〈argument〉]* ]? }
〈unbinding〉 = unbind "〈accelerator〉" ;
where 〈accelerator〉 is a string that can be parsed by gtk_accelerator_parse(), 〈signal name〉 is the name of a keybinding signal of the widget in question, and the 〈argument〉 list must be according to the signals declaration.
Example 37. An example for using the @binding-set rule
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
@binding-set binding-set1 { bind "<alt>Left" { "move-cursor" (visual-positions, -3, 0) }; unbind "End"; }; @binding-set binding-set2 { bind "<alt>Right" { "move-cursor" (visual-positions, 3, 0) }; bind "<alt>KP_space" { "delete-from-cursor" (whitespace, 1) "insert-at-cursor" (" ") }; }; entry { -gtk-key-bindings: binding-set1, binding-set2; } |


Preparation time
less than 30 mins
Cooking time
10 to 30 mins
Serves
Serves 4
Place three-quarters of the sweetcorn into a food processor and blend to a smooth purée.
Heat the vegetable oil in a pan over a medium heat. Add the spring onion and ginger and fry for 3-4 minutes, until the onion is softened, but not coloured.
Add the crabmeat, sherry, sweetcorn purée and the stock and bring to the boil. Reduce the heat and simmer for five minutes.
Add the remaining sweetcorn and the cornflour paste and stir well.
Pass the beaten egg through a fine sieve held over the soup to create strings of egg in the soup. Cook until the eggs have set as strands.
To serve, ladle equal quantities of the soup into bowls and garnish with sesame seeds and chillies.


Taking on an apprentice, whatever age, will need some preparation from you, as the employer.
If the new apprentice is straight out of school then they may have limited experience of what's expected of them going into their first salaried job.
If your new apprentice is older and more experienced they might not need as much help as the school leaver, but they may still be nervous and unsure of what’s expected of them.
Preparing
Before an apprentice starts you should consider sending them a starter pack so they know what to expect from their first day.
It could include:
- a list of what you'd like them to bring - notebook/pens/ID etc
- what time you'd like them to arrive
- how they should dress
- how much money they need to bring for lunch etc
- who they should ask for when they arrive
- where to get the bus/train or park their car
Monitoring
It's important as an employer to support your new apprentice and keep in regular contact with them. Perhaps you could consider:
- establishing a weekly catch-up with your apprentice
- regular updates with your training provider
- assigning a member of staff to be their daily 'go-to' person


Draw a pattern, get the knitting instructions.
For tips on what that means, read
this
!
Grid (cols x rows)
x
Stitch
▼
✖ (knit)
➖ (purl)
🔘 (yo)
／ (k2tog)
＼ (ssk)
Get pattern
Clear all
Link to pattern


Rep. Chris Stewart: Dems' Impeachment Evidence 'Crumbling' | Breitbart
by Pam KeyOn Sunday’s broadcast of ABC’s “This Week,” Rep. Chris Stewart (R-UT) said that evidence against President Donald Trump in the House Democrats impeachment inquiry was “crumbling.”
Stewart said, “I don’t think the evidence is building at all–and I’m being sincere on this–I think the evidence is crumbling.”
He added, “I think the Democrats know they’re in trouble, that’s why they keep moving the goalposts, We went from some supposed quid pro quo and as you said tying the investigations to withholding military aid, but we know that didn’t happen. Now Mrs. Pelosi said we’re going to impeach and remove the president for bribery.”
Follow Pam Key on Twitter @pamkeyNEN


Draggable Gantt Chart
Move the itme by dragging
Resize the item by dragging the end point
scoping
Task:
Scoping
Description:
scope the project
desiging
Task:
Documentation
Description:
write design documents
developing
Task:
Coding
Description:
work work
testing
Task:
Testing
Description:
bug bug


“Aminadab! Aminadab!” shouted Aylmer, stamping violently on the floor. Forthwith there issued from an inner apartment a man of low stature, but bulky frame, with shaggy hair hanging about his visage, which was grimed with the vapours of the furnace … “Throw open the door of the boudoir, Aminadab,” said Aylmer, “and burn a pastille.”
Nathaniel Hawthorne, The Birthmark


{{ title := "Home" }} {{ include "header.jet.html" }}
Username: admin
Password: admin
YOU MUST CHANGE DEFAULT PASSWROD


No Intention To Revise Fiscal Deficit Target, Says Government
by PTIBookmark
The government categorically stated that it does not intend to revise its fiscal deficit target of 3.3 percent of gross domestic product for the current financial year notwithstanding slowdown in economic activities.
"No sir," Minister of State for Finance Anurag Thakur said in a written reply in the Rajya Sabha to a query if the government intends to revise fiscal deficit in view of the economic slowdown
The minister further said expenditure of various ministries and departments of the government is as per the estimates approved by Parliament. In the first half of the financial year, 53.4 percent of Budget Estimates was spent by various ministries and departments.
Thakur also listed out the steps taken by the government to boost economic activities. The real GDP growth slowed to an over six-year low of 5 percent in the first quarter of the current financial year.
Replying to another question, Singh said non-performing assets of banks, after reaching a peak of Rs 10,36,187 crore as on March 31, 2018, have declined Rs 97,996 crore to Rs 9,38,191 crore as on June 30, 2019.
Banks have also "effected record recovery" of Rs 4,27,115 crore over the last four financial years and the first quarter of the current financial year, including recovery of Rs 1,56,702 crore during the financial year 2018-19.


Survey Form
How can we improve the Democratic Party
* Name:
* Email:
* Age:
Which option best describes your positions on
social
policy issues?
Select an option
very liberal
slightly liberal
independent
slightly conservative
very conservative
Which option best describes your positions on
fiscal
policy issues?
Select an option
very liberal
slightly liberal
independent
slightly conservative
very conservative
* How likely are you to vote in the midterm elections?
Definitely
Maybe
Not sure
What do you consider the most critical issue when voting?
Select an option
Abortion
The National Debt
Environment
Social Programs/Policies
Corruption in Government
Issues that should be highlighted by the party:
(Check all that apply):
Economic Security
Jobs Growth
Closing the Wage Gap
Remove Barriers to Opportunity
Protect Voting Rights
Champaign Finance Reform
Environmental Protection and Justice
Affortable Education
Healthcare for All
Support of Troops and Veterans
Global Security
Protect American Values
Global Leadership
Comments and Suggestions are encouraged:
Submit


public class ColorConvertOp extends Object implements BufferedImageOp, RasterOp
If the source is a BufferedImage with premultiplied alpha, the color components are divided by the alpha component before color conversion. If the destination is a BufferedImage with premultiplied alpha, the color components are multiplied by the alpha component after conversion. Rasters are treated as having no alpha channel, i.e. all bands are color bands.
If a RenderingHints object is specified in the constructor, the color rendering hint and the dithering hint may be used to control color conversion.
Note that Source and Destination may be the same object.
| Constructor and Description |
|---|
ColorConvertOp(ColorSpace srcCspace,
ColorSpace dstCspace,
RenderingHints hints)
Constructs a new ColorConvertOp from two ColorSpace objects.
|
ColorConvertOp(ColorSpace cspace,
RenderingHints hints)
Constructs a new ColorConvertOp from a ColorSpace object.
|
ColorConvertOp(ICC_Profile[] profiles,
RenderingHints hints)
Constructs a new ColorConvertOp from an array of ICC_Profiles.
|
ColorConvertOp(RenderingHints hints)
Constructs a new ColorConvertOp which will convert
from a source color space to a destination color space.
|
| Modifier and Type | Method and Description |
|---|---|
BufferedImage |
createCompatibleDestImage(BufferedImage src,
ColorModel destCM)
Creates a zeroed destination image with the correct size and number of
bands, given this source.
|
WritableRaster |
createCompatibleDestRaster(Raster src)
Creates a zeroed destination Raster with the correct size and number of
bands, given this source.
|
BufferedImage |
filter(BufferedImage src,
BufferedImage dest)
ColorConverts the source BufferedImage.
|
WritableRaster |
filter(Raster src,
WritableRaster dest)
ColorConverts the image data in the source Raster.
|
Rectangle2D |
getBounds2D(BufferedImage src)
Returns the bounding box of the destination, given this source.
|
Rectangle2D |
getBounds2D(Raster src)
Returns the bounding box of the destination, given this source.
|
ICC_Profile[] |
getICC_Profiles()
Returns the array of ICC_Profiles used to construct this ColorConvertOp.
|
Point2D |
getPoint2D(Point2D srcPt,
Point2D dstPt)
Returns the location of the destination point given a
point in the source.
|
RenderingHints |
getRenderingHints()
Returns the rendering hints used by this op.
|
public ColorConvertOp(RenderingHints hints)
hints
- the RenderingHints
object used to control
the color conversion, or null
public ColorConvertOp(ColorSpace cspace, RenderingHints hints)
filter
method is invoked with a destination argument of null.
In that case, the ColorSpace defines the destination color space
for the destination created by the filter method. Otherwise, the
ColorSpace defines an intermediate space to which the source is
converted before being converted to the destination space.cspace
- defines the destination ColorSpace
or an
intermediate ColorSpace
hints
- the RenderingHints
object used to control
the color conversion, or null
NullPointerException
- if cspace is nullpublic ColorConvertOp(ColorSpace srcCspace, ColorSpace dstCspace, RenderingHints hints)
srcCspace
- the source ColorSpace
dstCspace
- the destination ColorSpace
hints
- the RenderingHints
object used to control
the color conversion, or null
NullPointerException
- if either srcCspace or dstCspace is nullpublic ColorConvertOp(ICC_Profile[] profiles, RenderingHints hints)
For BufferedImages, if the ColorSpace of the source BufferedImage does not match the requirements of the first profile in the array, the first conversion is to an appropriate ColorSpace. If the requirements of the last profile in the array are not met by the ColorSpace of the destination BufferedImage, the last conversion is to the destination's ColorSpace.
For Rasters, the number of bands in the source Raster must match the requirements of the first profile in the array, and the number of bands in the destination Raster must match the requirements of the last profile in the array. The array must have at least two elements or calling the filter method for Rasters will throw an IllegalArgumentException.
profiles
- the array of ICC_Profile
objectshints
- the RenderingHints
object used to control
the color conversion, or null
IllegalArgumentException
- when the profile sequence does not
specify a well-defined color conversionNullPointerException
- if profiles is nullpublic final ICC_Profile[] getICC_Profiles()
ICC_Profile
objects of this
ColorConvertOp
, or null
if this
ColorConvertOp
was not constructed with an
array of ICC_Profile
objects.public final BufferedImage filter(BufferedImage src, BufferedImage dest)
filter
in interface BufferedImageOp
src
- the source BufferedImage
to be converteddest
- the destination BufferedImage
,
or null
dest
color converted from src
or a new, converted BufferedImage
if dest
is null
IllegalArgumentException
- if dest is null and this op was
constructed using the constructor which takes only a
RenderingHints argument, since the operation is ill defined.public final WritableRaster filter(Raster src, WritableRaster dest)
filter
in interface RasterOp
src
- the source Raster
to be converteddest
- the destination WritableRaster
,
or null
dest
color converted from src
or a new, converted WritableRaster
if dest
is null
IllegalArgumentException
- if the number of source or
destination bands is incorrect, the source or destination
color spaces are undefined, or this op was constructed
with one of the constructors that applies only to
operations on BufferedImages.public final Rectangle2D getBounds2D(BufferedImage src)
getBounds2D
in interface BufferedImageOp
src
- the source BufferedImage
Rectangle2D
that is the bounding box
of the destination, given the specified src
public final Rectangle2D getBounds2D(Raster src)
getBounds2D
in interface RasterOp
src
- the source Raster
Rectangle2D
that is the bounding box
of the destination, given the specified src
public BufferedImage createCompatibleDestImage(BufferedImage src, ColorModel destCM)
createCompatibleDestImage
in interface BufferedImageOp
src
- Source image for the filter operation.destCM
- ColorModel of the destination. If null, an
appropriate ColorModel will be used.BufferedImage
with the correct size and
number of bands from the specified src
.IllegalArgumentException
- if destCM
is
null
and this ColorConvertOp
was
created without any ICC_Profile
or
ColorSpace
defined for the destinationpublic WritableRaster createCompatibleDestRaster(Raster src)
createCompatibleDestRaster
in interface RasterOp
src
- the specified Raster
WritableRaster
with the correct size and number
of bands from the specified src
IllegalArgumentException
- if this ColorConvertOp
was created without sufficient information to define the
dst
and src
color spacespublic final Point2D getPoint2D(Point2D srcPt, Point2D dstPt)
dstPt
is non-null,
it will be used to hold the return value. Note that
for this class, the destination point will be the same
as the source point.getPoint2D
in interface BufferedImageOp
getPoint2D
in interface RasterOp
srcPt
- the specified source Point2D
dstPt
- the destination Point2D
dstPt
after setting its location to be
the same as srcPt
public final RenderingHints getRenderingHints()
getRenderingHints
in interface BufferedImageOp
getRenderingHints
in interface RasterOp
RenderingHints
object of this
ColorConvertOp
Dracula Javadoc Sample, Made with Allan Im.


public class BuildingOrderDisplay
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
private static bwapi.Game |
GAME |
private static int |
LINEHEIGHT |
private static java.text.DecimalFormat |
MULTIPLY_FORMATTER |
private static int |
OFFSET_LEFT |
private static int |
OFFSET_LEFT_TOTAL |
private static java.text.DecimalFormat |
SCORE_FORMATTER |
| Constructor and Description |
|---|
BuildingOrderDisplay() |
| Modifier and Type | Method and Description |
|---|---|
private static java.util.HashSet<ScoringAction> |
extractScoringActions(java.util.HashSet<javaGOAP.GoapAction> actions)
Function for extracting all ScoringActions from a Set of given
GoapActions.
|
private static java.util.HashSet<GameState> |
extractUsedGameStates(java.util.HashSet<ScoringAction> scoringActions)
Function for extracting the used GameStates from a HashSet of
ScoringActions.
|
private static int |
leaveOneLineFree(int posY)
Function for adding the default line height to the given y position and
returning it.
|
private static int |
showGameStates(BuildActionManager manager,
int posY)
Function for displaying the used GameStates of the BuildActionManager
combined with their corresponding multiplier.
|
private static int |
showGeneratedScores(BuildActionManager manager,
int posY)
Function for displaying the used Actions of the BuildActionManager as
well as their corresponding scores.
|
static void |
showInformation(BuildActionManager manager)
Function for showing all information regarding the building manager,
scoring and states.
|
private static final int OFFSET_LEFT
private static final int OFFSET_LEFT_TOTAL
private static final int LINEHEIGHT
private static final bwapi.Game GAME
private static final java.text.DecimalFormat MULTIPLY_FORMATTER
private static final java.text.DecimalFormat SCORE_FORMATTER
public static void showInformation(BuildActionManager manager)
manager
- the manager that contains the references to the specified
instances that contain the information.private static int leaveOneLineFree(int posY)
posY
- the Integer that the default line height is going to be added
to.private static int showGameStates(BuildActionManager manager, int posY)
manager
- the manager that contains the information regarding the
Actions and therefore the used GameStates.posY
- the Y position at which the text will appear on screen.private static java.util.HashSet<ScoringAction> extractScoringActions(java.util.HashSet<javaGOAP.GoapAction> actions)
actions
- the actions that are going to be converted.private static java.util.HashSet<GameState> extractUsedGameStates(java.util.HashSet<ScoringAction> scoringActions)
scoringActions
- the actions whose GameStates are being extracted.private static int showGeneratedScores(BuildActionManager manager, int posY)
manager
- the manager that contains the information regarding the
Actions and therefore their corresponding scores.posY
- the Y position at which the text will appear on screen.


{% extends "layout.html" %} {% block content %}
// src/routes/mappings.py pipeline = hubspot.crm.pipelines.pipelines_api.get_by_id("deals", pipeline_id)
Note: selected Trello board list and Pipeline stage must be unique for all rows


Take Me Out contestant lifts lid on what it's really like to be on the show
Author Meera Sharma opened up about her experience
by Sophie McCoidA Take Me Out contestant has lifted the lid on what really goes on behind the scenes of the hit TV show.
Meera Sharma, 31, is currently appearing on this series of the ITV dating show fronted by Paddy McGuinness on Saturday nights.
The Ormskirk native impressed fans in the first episode when she dissed Peter Andre's classic hit 'Mysterious Girl.'
And while author Meera remained tight lipped about the casting process and whether she actually bags a date on the show, she did let slip some behind the scenes gossip.
Meera, who hoped to bag herself a Michael B Jordan lookalike on the show, said: "It was a brilliant, fun experience and I'd definitely do it again - but it could be very tiring filming for hours.
"It was filmed a year ago, so it's funny watching it back, because you're just running on adrenaline, I can't remember half of the things I've said.
"We were encouraged to bring our own wardrobe to show off our personality and I really liked that, because I have a distinctive style.
"I really wanted to show off my character and wear bright colours every week.
"We get our own glam squad on the show, who do your hair and make-up every week and that's great."
But Meera said the days could be tiring, with contestants expected to be at the studio from early morning until the evening.
Meera said: "We'd get there early in the morning and then go to hair and make-up before we did a rehearsal, just to check everything looked right on the cameras and the girls were in the correct position.
"Then we'd just film the episode in one go with a live audience in the early evening.
"It was really fun, but it was a long day and you could get tired, you're on your feet for a long time and you're on call all day, going in to get your make-up retouched or your hair checked.
"But it was really nice chatting to the girls and we all got on really well."
Meera said she was worried the other contestants would be "catty" but when she met the other girls she said they all bonded and still speak to each other now.
She said: "I met so many lovely girls, we all got on really well.
"I think sometimes when girls get together they can be a bit catty, but everyone was really lovely.
"That's the thing, even if you don't get a date you meet so many new friends, so it's worth going on just for that.
"We're all still in touch via social media and we meet up for drinks when we're in the same part of the country.
"With the show airing now we're all messaging each other every week about something hilarious we'd forgotten we'd said.
"And Paddy is just as nice as he appears on TV, he's so witty and funny and really bounces off us."
Since the show was filmed Meera has kept herself busy, launching a motivational platform for women and writing 'The little book of sass' featuring inspirational quotes to motivate women.
*Take Me Out airs on Saturday on ITV at 7:10pm


Background
Application
Settings vs. Script Application Settings
One of the possible ways of maintaining an application
settings is a
Configuration File. This is how MSDN describes the configuration
files:
The .NET
Framework
gives developers control and flexibility over the way applications run.
Developers can put settings in configuration files, eliminating the
need to recompile an application every time a setting
changes. Application configuration files contain settings
specific
to an application.
Configuration
files are XML files that can be changed as needed.
Typically the application configuration file is in the same directory
as the application. The name of the configuration file is the name of
the application with a .config extension (
app.config).
For example, an application called
myApp.exe
can be associated with a configuration file called
myApp.exe.config.
Unfortunately
such configuration file cannot be used to store the script
application settings. This is because all the
scripts share the same executable and in result they have to share the
same app.config. The solution to the problem is to use
different
config file, associated with the script but not with the application
executable (script.config). For
example, a script called
myScript.cs
has to be associated with a configuration file called
myScript.cs.config.
Custom
config file
.NET Framework provides classes for working with configuration files.
One of them is
System.Configuration.ConfigurationSettings.AppSettings,
which makes reading the
app.config
file effortless.
Unfortunately
this class cannot be used
for script.config as
there is no simple/adequate way to force it to read anything else but app.config.
There are plenty of articles/code samples dedicated to solving the
custom config file problem. Approaches are different
and
usually they are based on the custom config file reader. The
same
approach is used for CS-Script. However one of the simplest and most
reliable approaches is to access configuration file
from some
temporary domain (
TempDomain
approach).
In this case you can use all existing .NET classes for working with
configuration files. The approach is based on the fact that
you
can specify what config file temporary domain should use. The
advantages of such approach are obvious:
- Simplicity: the only extra code you need to do is the
creation of a new AppDomain.
- Consistency: actual configuration accessing routine is the
same as for standard app.config.
- Reliability: app.config readers/writers
are part of the .NET Framework, well tested and maintained by MS.
The example of such approach is the following script:
Tutorial/AppSettings/CustomAppSettings.cs.
However there is always a catch. Crossing the domain boundaries
introduces some performance penalties (which are in real life often
negligible).
The described above algorithm is used
for implementation of the support for app.config
file associated with the script application?
Starting from version 1.7.0
CS-Script supports true application
configuration files. Practically
it means that if you need to execute the script (client.cs) written
to access a configuration file, you need to create
corresponding config
file (client.cs.config)
and use command-line switch /sconfig. This
switch will force the script engine to execute the script application
in a separate AppDomain with
client.cs.config or as
a config file.
Note that /sconfig is a
default option for the script execution. Also be aware that the script engine will treat
client.exe.config (if found) as a script config file in absence of client.cs.config.
Also
you can specify custom name for the config file by using extended
syntax for /sconfig command-line argument: /sconfig:MyApp.config.
See <cs-script>\Samples\ConfigFiles samples
The way of accessing the
app.config
file values from script, when
/sconfig option
is used, is not different from accessing these values from the stand
alone application.
using System;
using System.Windows.Forms;
using System.Configuration;
class Script
{
static public void Main(string[] args)
{
MessageBox.Show(ConfigurationManager.AppSettings["greeting"]);
}
}
....
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="greeting" value="Hello!" />
</appSettings>
</configuration
|
The A
ppCconfig
support is especially important with respect to
the WPF and WCF applications, which
relay heavily on the
app.config
files. For such script applications
/sconfig is a
"must-have" option.
Another interesting aspect of
AppConfig
support is the concept of assembly
aliases for configuration file ConfigSections. Assembly
aliases mechanism is
required for resolving problems caused by unpredictable nature
of the assembly
name of the compiled script. The following example will illustrate how
to use assembly aliases in practice.
Imagine that you have
application
MyApp.exe
which uses
MyApp.exe.config
configuration file. The following XML is a fragment of the
configSection of the
MyApp.exe.config.
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="MyData" type="MyDataSection, MyApp" |
As you can see from the code above section
MyData is bound
to the
MyDataSection
type implemented in the
MyApp
assembly.
But what if you want to achieve the same in a script application. Let's
assume that
MyDataSection
type is implemented in the script
MyApp.cs.
However it is not possible to specify the assembly name in the
app.config file as we do not have our assembly yet, we have
only
script. Well the problem can be handled quite easy. XML configuration
file (
MyApp.cs.config)
should contain assembly alias
GetExecutingAssembly().
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="MyData" type="MyDataSection, GetExecutingAssembly()" |
GetExecutingAssembly() is interpreted at runtime as an
executing assembly (loaded script).
Thus the only difference between executable and the script application
is the assembly name field in the config file.
Similarly
GetEntryAssembly()
is mapped to the process executable assembly.
The actual working with the config file sections from the script is not
that
different comparing to the same scenario implemented in the stand alone
application. The only diffrence is usage of
GetExecutingAssembly()
instead of the assembly name.
The full scale example for working with
AppConfig sections
is the following script:
Tutorial/AppSettings/AppConfigSection.cs.
See Also
Command-line_Interface


Visualize the plane identified by given Miller indices. Optionally remove atoms above or below it.
| Miller plane indices |
field |
The Miller indices (hkl) identifying the plane. The plane (000) is invalid. The bar-n index is entered as negative number. |
| offset |
slider |
Plane displacement along the normal. The value is the fraction of the longest displacement along the normal
that remains inside the unit cell. |
| scale u |
slider |
Scaling of one side of the resulting plane. This parameter modifies only the visualized plane. |
| scale v |
slider |
Scaling of the other side of the resulting plane. This parameter modifies only the visualized plane. |
| remove atoms above plane |
toggle |
Reverse the side of the plane from which the atoms are removed. |
| opacity |
slider |
Opacity of the resulting plane. |


FSharpMemberOrFunctionOrValue
Namespace: FSharp.Compiler.SourceCodeServices
Attributes:
[<Class>]
A subtype of F# symbol that represents an F# method, property, event, function or value, including extension members.
Instance members
| Instance member | Description |
x.Accessibility
Signature: FSharpAccessibility
|
Get the accessibility information for the member, function or value CompiledName: |
x.ApparentEnclosingEntity
Signature: FSharpEntity
|
Get the logical enclosing entity, which for an extension member is type being extended CompiledName: |
x.Attributes
Signature: IList<FSharpAttribute>
|
Custom attributes attached to the value. These contain references to other values (i.e. constructors in types). Mutable to fixup CompiledName: |
x.CompiledName
Signature: string
|
Get the member name in compiled code CompiledName: |
x.CurriedParameterGroups
Signature: IList<IList<FSharpParameter>>
|
CompiledName: |
x.DeclarationLocation
Signature: range
|
Get the declaration location of the member, function or value CompiledName: |
x.DeclaringEntity
Signature: FSharpEntity option
|
Get the enclosing entity for the definition CompiledName: |
x.DisplayName
Signature: string
|
Get the name as presented in F# error messages and documentation CompiledName: |
x.EventAddMethod
Signature: FSharpMemberOrFunctionOrValue
|
Get an associated add method of an event CompiledName: |
x.EventDelegateType
Signature: FSharpType
|
Get an associated delegate type of an event CompiledName: |
x.EventForFSharpProperty
Signature: FSharpMemberOrFunctionOrValue option
|
Gets the event symbol implied by the use of a property, for the case where the property is actually an F#-declared CLIEvent. Uses of F#-declared events are considered to be properties as far as the language specification and this API are concerned. CompiledName: |
x.EventIsStandard
Signature: bool
|
Indicate if an event can be considered to be a property for the F# type system of type IEvent or IDelegateEvent. In this case ReturnParameter will have a type corresponding to the property type. For non-standard events, ReturnParameter will have a type corresponding to the delegate type. CompiledName: |
x.EventRemoveMethod
Signature: FSharpMemberOrFunctionOrValue
|
Get an associated remove method of an event CompiledName: |
x.FormatLayout(context)
Signature: context:FSharpDisplayContext -> Layout
|
Format the type using the rules of the given display context |
x.FullType
Signature: FSharpType
|
Get the full type of the member, function or value when used as a first class value CompiledName: |
x.GenericParameters
Signature: IList<FSharpGenericParameter>
|
Get the typars of the member, function or value CompiledName: |
x.GetterMethod
Signature: FSharpMemberOrFunctionOrValue
|
Get an associated getter method of the property CompiledName: |
x.HasGetterMethod
Signature: bool
|
Indicates if this is a property and there exists an associated getter method CompiledName: |
x.HasSetterMethod
Signature: bool
|
Indicates if this is a property and there exists an associated setter method CompiledName: |
x.ImplementedAbstractSignatures
Signature: IList<FSharpAbstractSignature>
|
Gets the list of the abstract slot signatures implemented by the member CompiledName: |
x.InlineAnnotation
Signature: FSharpInlineAnnotation
|
Get a result indicating if this is a must-inline value CompiledName: |
x.IsActivePattern
Signature: bool
|
Indicates if this value or member is an F# active pattern CompiledName: |
x.IsBaseValue
Signature: bool
|
Indicates if this is "base" in "base.M(...)" CompiledName: |
x.IsCompilerGenerated
Signature: bool
|
Indicates if this is a compiler generated value CompiledName: |
x.IsConstructor
Signature: bool
|
Indicates if this is a constructor. CompiledName: |
x.IsConstructorThisValue
Signature: bool
|
Indicates if this is the "x" in "type C() as x = ..." CompiledName: |
x.IsDispatchSlot
Signature: bool
|
Indicates if this is an abstract member? CompiledName: |
x.IsEvent
Signature: bool
|
Indicates if this is an event member CompiledName: |
x.IsEventAddMethod
Signature: bool
|
Indicates if this is an add method for an event CompiledName: |
x.IsEventRemoveMethod
Signature: bool
|
Indicates if this is a remove method for an event CompiledName: |
x.IsExplicitInterfaceImplementation
Signature: bool
|
Indicates if this is an explicit implementation of an interface member CompiledName: |
x.IsExtensionMember
Signature: bool
|
Indicates if this is an extension member? CompiledName: |
x.IsGetterMethod
Signature: bool
Attributes: [<Obsolete("Renamed to IsPropertyGetterMethod, which returns 'true' only for method symbols, not for property symbols")>] |
WARNING: This API is obsolete
Renamed to IsPropertyGetterMethod, which returns 'true' only for method symbols, not for property symbols Indicates if this is a getter method for a property, or a use of a property in getter mode CompiledName: |
x.IsImplicitConstructor
Signature: bool
|
Indicates if this is an implicit constructor? CompiledName: |
x.IsInstanceMember
Signature: bool
|
Indicates if this is an instance member, when seen from F#? CompiledName: |
x.IsInstanceMemberInCompiledCode
Signature: bool
|
Indicates if this is an instance member in compiled code. Explanatory note: some members such as IsNone and IsSome on types with UseNullAsTrueValue appear as instance members in F# code but are compiled as static members. CompiledName: |
x.IsMember
Signature: bool
|
Indicates if this is a member, including extension members? CompiledName: |
x.IsMemberThisValue
Signature: bool
|
Indicates if this is the "x" in "member x.M = ..." CompiledName: |
x.IsModuleValueOrMember
Signature: bool
|
Indicates if this is a module or member value CompiledName: |
x.IsMutable
Signature: bool
|
Indicates if this is a mutable value CompiledName: |
x.IsOverrideOrExplicitInterfaceImplementation(...)
Signature: bool
|
Indicates if this is an 'override', 'default' or an explicit implementation of an interface member CompiledName: |
x.IsOverrideOrExplicitMember
Signature: bool
Attributes: [<Obsolete("Renamed to IsOverrideOrExplicitInterfaceImplementation")>] |
WARNING: This API is obsolete
Renamed to IsOverrideOrExplicitInterfaceImplementation CompiledName: |
x.IsProperty
Signature: bool
|
Indicates if this is a property member CompiledName: |
x.IsPropertyGetterMethod
Signature: bool
|
Indicates if this is a getter method for a property, or a use of a property in getter mode CompiledName: |
x.IsPropertySetterMethod
Signature: bool
|
Indicates if this is a setter method for a property, or a use of a property in setter mode CompiledName: |
x.IsSetterMethod
Signature: bool
Attributes: [<Obsolete("Renamed to IsPropertySetterMethod, which returns 'true' only for method symbols, not for property symbols")>] |
WARNING: This API is obsolete
Renamed to IsPropertySetterMethod, which returns 'true' only for method symbols, not for property symbols Indicates if this is a setter method for a property, or a use of a property in setter mode CompiledName: |
x.IsTypeFunction
Signature: bool
|
Indicates if this is an F# type function CompiledName: |
x.IsUnresolved
Signature: bool
|
Indicates if the member, function or value is in an unresolved assembly CompiledName: |
x.IsValCompiledAsMethod
Signature: bool
|
Indicated if this is a value compiled to a method CompiledName: |
x.IsValue
Signature: bool
|
Indicated if this is a value CompiledName: |
x.LiteralValue
Signature: obj option
|
Indicates if this is a [ CompiledName: |
x.LogicalName
Signature: string
|
Get the logical name of the member CompiledName: |
x.Overloads(arg1)
Signature: bool -> IList<FSharpMemberOrFunctionOrValue> option
|
Gets the overloads for the current method matchParameterNumber indicates whether to filter the overloads to match the number of parameters in the current symbol |
x.ReturnParameter
Signature: FSharpParameter
|
CompiledName: |
x.SetterMethod
Signature: FSharpMemberOrFunctionOrValue
|
Get an associated setter method of the property CompiledName: |
x.XmlDoc
Signature: IList<string>
|
Get the in-memory XML documentation for the value, used when code is checked in-memory CompiledName: |
x.XmlDocSig
Signature: string
|
XML documentation signature for the value, used for .xml file lookup for compiled code CompiledName: |


01
A Poem
I, D-503, the builder of the Integral, I am only one of the many mathematicians of the United State.
The great historic hour is near, when the first Integral will rise into the limitless space of the universe. A thousand years ago your heroic ancestors subjected the whole earth to the power of the United State. A still more glorious task is before you,—the integration of the indefinite equation of the Cosmos by the use of the glass, electric, fire-breathing Integral.
02
Harmony
From behind the Green Wall from some unknown plains the wind brings to us the yellow honeyed pollen of flowers.
One’s lips are dry from this sweet dust. Every moment one passes one’s tongue over them. Probably, all women whom I meet in the street (and men certainly also), have today sweet lips.
03
A Coat
I looked over all that I wrote down yesterday and I find that my descriptions are not sufficiently clear.
That is, everything would undoubtedly be clear to one of us but who knows to whom my Integral will some day bring these records? Perhaps you, like our ancestors, have read the great book of civilization only up to the page of nine hundred years ago.
04
Epilepsy
The auditorium: an enormous half-globe of glass with the sun piercing through.
The circular rows of noble, globe-like, closely-shaven heads. With joy in my heart I looked around. I believe I was looking in the hope of seeing the rose-colored scythe, the dear lips of O-, somewhere among the blue waves of the unifs. Then I saw extraordinarily white, sharp teeth like the.... But no!


Sensible TableView provides an alternative easy way to create sophisticated table views very quickly. The sophistication of these table views can range from simple text cells, to cells with controls, to custom cells that get automatically generated from your own classes. SCTableViewModel also automatically generates detail views for common tasks such as selecting cell values or creating new objects. Using SCTableViewModel, you can easily create full functioning applications in a matter of minutes.
SCTableViewModel is designed to be loosely coupled with your user interface elements. What this means is that you can use SCTableViewModel with Apple’s default UITableView or with any of your custom UITableView subclasses. Similarly, you can use SCTableViewModel with any UIViewController, or any of its subclasses, including UITableViewController or your own subclasses.
Architecture:
An SCTableViewModel defines a table view model with several sections, each section being of type SCTableViewSection. Each SCTableViewSection can contain several cells, each cell being of type SCTableViewCell.
-
Undocumented
Declaration
Objective-C
NSIndexPath *lastReturnedCellIndexPath
-
Undocumented
Declaration
Objective-C
SCTableViewCell *lastReturnedCell
-
Undocumented
Declaration
Objective-C
NSIndexPath *lastVisibleCellIndexPath
-
Unavailable
Undocumented
Declaration
Objective-C
__weak id target
-
Undocumented
Declaration
Objective-C
SEL action
-
Unavailable
Undocumented
Declaration
Objective-C
__weak SCTableViewModel *masterModel
-
Unavailable
Undocumented
Declaration
Objective-C
__weak SCTableViewModel *activeDetailModel
-
Unavailable
Undocumented
Declaration
Objective-C
__weak UITableView *_tableView
-
Undocumented
Declaration
Objective-C
UIBarButtonItem *editButtonItem
-
Undocumented
Declaration
Objective-C
BOOL autoResizeForKeyboard
-
Undocumented
Declaration
Objective-C
BOOL keyboardShown
-
Undocumented
Declaration
Objective-C
CGFloat keyboardOverlap
-
Undocumented
Declaration
Objective-C
SCInputAccessoryView *_inputAccessoryView
-
Undocumented
Declaration
Objective-C
NSMutableArray *sections
-
Undocumented
Declaration
Objective-C
NSArray *sectionIndexTitles
-
Undocumented
Declaration
Objective-C
BOOL autoGenerateSectionIndexTitles
-
Undocumented
Declaration
Objective-C
BOOL autoSortSections
-
Undocumented
Declaration
Objective-C
BOOL hideSectionHeaderTitles
-
Undocumented
Declaration
Objective-C
BOOL lockCellSelection
-
Undocumented
Declaration
Objective-C
NSInteger tag
-
Undocumented
Declaration
Objective-C
BOOL enablePullToRefresh
-
Undocumented
Declaration
Objective-C
SCTableViewCell *activeCell
-
Undocumented
Declaration
Objective-C
NSIndexPath *activeCellIndexPath
-
Undocumented
Declaration
Objective-C
UIResponder *activeCellControl
-
Undocumented
Declaration
Objective-C
UIBarButtonItem *commitButton
-
Undocumented
Declaration
Objective-C
BOOL swipeToDeleteActive
-
Undocumented
Declaration
Objective-C
SCModelActions *_modelActions
-
Undocumented
Declaration
Objective-C
SCSectionActions *_sectionActions
-
Undocumented
Declaration
Objective-C
SCCellActions *_cellActions
-
Undocumented
Declaration
Objective-C
SCTheme *_theme
-
Allocates and returns an initialized SCTableViewModel bound to a UITableView. *
- Upon the model’s initialization, the model sets itself as the table view’s dataSource and delegate, and starts providing it with its sections and cells. *
- - parameter: tableView The UITableView to be bound to the model. It’s ok for this value to be nil if the table view is not yet available when the model is created.
Declaration
Objective-C
+ (instancetype)modelWithTableView:(UITableView *)tableView;
-
Returns an initialized ‘SCTableViewModel’ bound to a UITableView.
*- Upon the model’s initialization, the model sets itself as the table view’s dataSource and delegate, and starts providing it with its sections and cells. *
- - parameter: tableView The UITableView to be bound to the model. It’s ok for this value to be nil if the table view is not yet available when the model is created.
Declaration
Objective-C
- (instancetype)initWithTableView:(UITableView *)tableView;
-
Set to TRUE to enable pull-to-refresh functionality on the table view. Default: FALSE.
See
refreshControlDeclaration
Objective-C
@property (nonatomic) BOOL enablePullToRefresh;
-
Contains a UIRefreshControl that automatically provides pull-to-refresh functionality to the table view.
Note
enablePullToRefresh must be set to TRUE for this view to take effect.Declaration
Objective-C
@property (nonatomic, strong) UIRefreshControl *refreshControl;
-
When set to a valid UIBarButtonItem, SCTableViewModel automatically puts its table view in edit mode when the button is tapped. Note: Must be set if the model is to automatically show/hide editing mode sections.
Declaration
Objective-C
@property (nonatomic, strong) UIBarButtonItem *editButtonItem;
-
If TRUE, SCTableViewModel will automatically resize its tableView when the keyboard appears. Property defualts to FALSE if viewController is a UITableViewController subclass, as UITableViewController will automatically handle the resizing. Otherwise, it defaults to TRUE.
Declaration
Objective-C
@property (nonatomic) BOOL autoResizeForKeyboard;
-
An array of strings that serve as the title of sections in the tableView and appear in the index list on the right side of the tableView. tableView must be in plain style for the index to appear.
Declaration
Objective-C
@property (nonatomic, strong) NSArray *sectionIndexTitles;
-
If TRUE, SCTableViewModel will automatically generate the sectionIndexTitles array from the first letter of each section’s header title. Default: FALSE.
Declaration
Objective-C
@property (nonatomic) BOOL autoGenerateSectionIndexTitles;
-
If TRUE, SCTableViewModel will automatically sort its sections alphabetically according to their header title value. Default: FALSE.
Declaration
Objective-C
@property (nonatomic) BOOL autoSortSections;
-
If TRUE, all section header titles will be hidden. Default: FALSE.
Declaration
Objective-C
@property (nonatomic) BOOL hideSectionHeaderTitles;
-
If TRUE, SCTableViewModel will prevent any cell from being selected. Default: FALSE.
- - note: for preventing individual cells from being selected, use SCTableViewCell “selectable” property.
Declaration
Objective-C
@property (nonatomic) BOOL lockCellSelection;
-
An integer that you can use to identify different table view models in your application. Any detail model automatically gets its tag set to be the value of its parent model’s tag plus one. Default: 0.
Declaration
Objective-C
@property (nonatomic) NSInteger tag;
-
The detail view controller used to display all of the model’s automatically generated detail views. This property is typically used in iPad applications where the model and its detailViewController co-exist in a UISplitViewController.
Note
STV automatically attempts to set this property when the model is the master view controller of a UISplitViewController.
Warning
detailViewController must be of type SCViewController or SCTableViewController only.
Declaration
Objective-C
@property (nonatomic, strong) UIViewController *detailViewController;
-
The set of model action blocks.
Declaration
Objective-C
@property (nonatomic, readonly) SCModelActions *modelActions;
-
The set of section action blocks that get applied to all the model’s sections.
Note
Section actions defined in the model’s individual sections will override any actions set here.Declaration
Objective-C
@property (nonatomic, readonly) SCSectionActions *sectionActions;
-
The set of cell action blocks that get applied to all the model’s cells.
Note
Cell actions defined in the model’s individual cells will override any actions set here.Declaration
Objective-C
@property (nonatomic, readonly) SCCellActions *cellActions;
-
The theme used to style the model’s views. Default: nil.
Declaration
Objective-C
@property (nonatomic, strong) SCTheme *theme;
-
The number of sections in the model.
Declaration
Objective-C
@property (nonatomic, readonly) NSUInteger sectionCount;
-
Adds a new section to the model.
- - parameter: section Must be a valid non nil SCTableViewSection.
Declaration
Objective-C
- (void)addSection:(SCTableViewSection *)section;
-
Inserts a new section at the specified index.
- - parameter: section Must be a valid non nil SCTableViewSection.
- - parameter: index Must be less than the total number of sections.
Declaration
Objective-C
- (void)insertSection:(SCTableViewSection *)section atIndex:(NSUInteger)index;
-
Returns the section at the specified index.
- - parameter: index Must be less than the total number of sections.
Declaration
Objective-C
- (SCTableViewSection *)sectionAtIndex:(NSUInteger)index;
-
Returns the first section with the specified header title.
- - parameter: title The header title.
Declaration
Objective-C
- (SCTableViewSection *)sectionWithHeaderTitle:(NSString *)title;
-
Returns the index of the specified section.
- - parameter: section Must be a valid non nil SCTableViewSection.
- - returns: If section is not found, method returns NSNotFound.
Declaration
Objective-C
- (NSUInteger)indexForSection:(SCTableViewSection *)section;
-
Removes the section at the specified index from the model.
- - parameter: index Must be less than the total number of section.
Declaration
Objective-C
- (void)removeSectionAtIndex:(NSUInteger)index;
-
Removes all sections from the model.
Declaration
Objective-C
- (void)removeAllSections;
-
Generates sections using the given object and its data definition. The method fully utilizes the definition’s groups feature by generating a section for each group.
- - parameter: object The object that the sections will be generated for.
- - parameter: definition The object’s definition.
- - warning: Important: definition must be the data definition representing the given object.
Declaration
Objective-C
- (void)generateSectionsForObject:(NSObject *)object withDefinition:(SCDataDefinition *)definition;
-
Generates sections using the given object and its data definition. The method fully utilizes the definition’s groups feature by generating a section for each group.
- - parameter: object The object that the sections will be generated for.
- - parameter: definition The object’s definition.
- - parameter: newObject Set to TRUE if the generated sections are used represent a newly created fresh object, otherwise set to FALSE.
- - warning: Important: definition must be the data definition representing the given object.
Declaration
Objective-C
- (void)generateSectionsForObject:(NSObject *)object withDefinition:(SCDataDefinition *)definition newObject:(BOOL)newObject;
-
Generates sections using the given object and its data store.
- - parameter: object The object that the sections will be generated for.
- - parameter: store The object’s data store.
Declaration
Objective-C
- (void)generateSectionsForObject:(NSObject *)object withDataStore:(SCDataStore *)store;
-
Generates sections using the given object and its data store.
- - parameter: object The object that the sections will be generated for.
- - parameter: store The object’s data store.
- - parameter: newObject Set to TRUE if the generated sections are used represent a newly created fresh object, otherwise set to FALSE.
Declaration
Objective-C
- (void)generateSectionsForObject:(NSObject *)object withDataStore:(SCDataStore *)store newObject:(BOOL)newObject;
-
Generates sections using a user defaults definition.
Declaration
Objective-C
- (void)generateSectionsForUserDefaultsDefinition: (SCUserDefaultsDefinition *)userDefaultsDefinition;
-
The current active cell. A cell becomes active if it is selected or if its value changes.
Declaration
Objective-C
@property (nonatomic, readonly) SCTableViewCell *activeCell;
-
The indexPath of activeCell.
Declaration
Objective-C
@property (nonatomic, readonly) NSIndexPath *activeCellIndexPath;
-
The current active input control.
Declaration
Objective-C
@property (nonatomic, readonly) UIResponder *activeCellControl;
-
Assigns the given object (given it’s data definition) to be the bound object in all of the model’s cells. *
Declaration
Objective-C
- (void)setBoundObjectForAllCells:(NSObject *)boundObject dataDefinition:(SCDataDefinition *)dataDefinition;
-
Assigns the given object (given it’s data store) to be the bound object in all of the model’s cells. *
Declaration
Objective-C
- (void)setBoundObjectForAllCells:(NSObject *)boundObject boundObjectStore:(SCDataStore *)boundObjectStore;
-
Returns the cell at the specified indexPath.
- - parameter: indexPath Must be a valid non nil NSIndexPath.
Declaration
Objective-C
- (SCTableViewCell *)cellAtIndexPath:(NSIndexPath *)indexPath;
-
Returns the index path for the specified cell.
- - parameter: cell Must be a valid non nil SCTableViewCell.
- - returns: If cell is not found, method returns NSNotFound.
Declaration
Objective-C
- (NSIndexPath *)indexPathForCell:(SCTableViewCell *)cell;
-
Returns the first cell with the given bound property name. *
Declaration
Objective-C
- (SCTableViewCell *)cellWithBoundPropertyName:(NSString *)boundPropertyName;
-
Returns the indexPath of the cell that comes after the specified cell in the model.
- - parameter: indexPath The indexPath of the current cell.
- - parameter: rewind If TRUE and cell is the very last cell in the model, method returns the indexPath of the cell at the very top.
- - returns: Returns nil if cell is the last cell in the model and rewind is FALSE, or if cell does not exist in the model.
Declaration
Objective-C
- (NSIndexPath *)indexPathForCellAfterCellAtIndexPath:(NSIndexPath *)indexPath rewind:(BOOL)rewind;
-
Returns the indexPath of the cell that comes after the specified cell in the model.
- - parameter: cell Must be a valid non nil SCTableViewCell.
- - parameter: rewind If TRUE and cell is the very last cell in the model, method returns the indexPath of the cell at the very top.
- - returns: Returns nil if cell is the last cell in the model and rewind is FALSE, or if cell does not exist in the model.
Declaration
Objective-C
- (NSIndexPath *)indexPathForCellAfterCell:(SCTableViewCell *)cell rewind:(BOOL)rewind;
-
Returns the cell that comes after the specified cell in the model.
- - parameter: cell Must be a valid non nil SCTableViewCell.
- - parameter: rewind If TRUE and cell is the very last cell in the model, method returns the cell at the very top.
- - returns: Returns nil if cell is the last cell in the model and rewind is FALSE, or if cell does not exist in the model.
Declaration
Objective-C
- (SCTableViewCell *)cellAfterCell:(SCTableViewCell *)cell rewind:(BOOL)rewind;
-
Returns the indexPath of the cell that comes before the specified cell in the model.
- - parameter: indexPath The indexPath of the current cell.
- - parameter: rewind If TRUE and cell is the very first cell in the model, method returns the indexPath of the last cell.
- - returns: Returns nil if cell is the last cell in the model and rewind is FALSE, or if cell does not exist in the model.
Declaration
Objective-C
- (NSIndexPath *)indexPathForCellBeforeCellAtIndexPath:(NSIndexPath *)indexPath rewind:(BOOL)rewind;
-
Returns the indexPath of the cell that comes before the specified cell in the model.
- - parameter: cell Must be a valid non nil SCTableViewCell.
- - parameter: rewind If TRUE and cell is the very first cell in the model, method returns the indexPath of the last cell.
- - returns: Returns nil if cell is the last cell in the model and rewind is FALSE, or if cell does not exist in the model.
- - see: moveToNextCellControl:
Declaration
Objective-C
- (NSIndexPath *)indexPathForCellBeforeCell:(SCTableViewCell *)cell rewind:(BOOL)rewind;
-
Returns the cell that comes before the specified cell in the model.
- - parameter: cell Must be a valid non nil SCTableViewCell.
- - parameter: rewind If TRUE and cell is the very first cell in the model, method returns the last cell.
- - returns: Returns nil if cell is the last cell in the model and rewind is FALSE, or if cell does not exist in the model.
- - see: moveToPreviousCellControl:
Declaration
Objective-C
- (SCTableViewCell *)cellBeforeCell:(SCTableViewCell *)cell rewind:(BOOL)rewind;
-
Moves the first responder to the next cell control, automatically scrolling the table view as needed. If rewind is TRUE, the first responder is moved to the very first cell after the last cell has been reached.
Note
This method is typically used when you’re overriding the framework’s automatic handling of the keyboard’s ‘Return’ button.Declaration
Objective-C
- (void)moveToNextCellControl:(BOOL)rewind;
-
Moves the first responder to the previous cell control, automatically scrolling the table view as needed. If rewind is TRUE, the first responder is moved to the very last cell after the first cell has been reached.
Declaration
Objective-C
- (void)moveToPreviousCellControl:(BOOL)rewind;
-
Dismisses all detail views, commiting all changes when commit is TRUE, otherwise it will ignore all changes.
Declaration
Objective-C
- (void)dismissAllDetailViewsWithCommit:(BOOL)commit;
-
TRUE if all the model’s section and cell values are valid.
Declaration
Objective-C
@property (nonatomic, readonly) BOOL valuesAreValid;
-
This property is TRUE if any of the model’s cells or sections needs to be commited, otherwise it’s FALSE.
Declaration
Objective-C
@property (nonatomic, readonly) BOOL needsCommit;
-
‘SCTableViewModel’ will automatically enable/disable the commitButton based on the valuesAreValid property, where commitButton is enabled if valuesAreValid is TRUE.
Declaration
Objective-C
@property (nonatomic, strong) UIBarButtonItem *commitButton;
-
Forces the commit of all section and cell values into their respective bound objects. There is usually no need to call this method manually as it’s typically called by the framework when the user is ready to commit changes.
Declaration
Objective-C
- (void)commitChanges;
-
Reload’s the model’s bound values in case the associated bound objects or keys valuea has changed by means other than the cells themselves (e.g. external custom code).
Declaration
Objective-C
- (void)reloadBoundValues;
-
The UITableView bound to ‘SCTableViewModel’.
Declaration
Objective-C
@property (nonatomic, weak) UITableView *tableView;
-
The UIViewController of tableView.
Declaration
Objective-C
@property (nonatomic, readonly) UIViewController *viewController;
-
The keyboard input accessory view responsible for providing keyboard navigation between the different responders. Set to a valid SCInputAccessoryView to enable the accessory view functionality.
Declaration
Objective-C
@property (nonatomic, strong) SCInputAccessoryView *inputAccessoryView;
-
Clears all contents of the model.
Declaration
Objective-C
- (void)clear;
-
Sets the editing mode for tableView.
Declaration
Objective-C
- (void)setTableViewEditing:(BOOL)editing animated:(BOOL)animate;
-
Returns the detail view controller that would normally be generated for the given cell.
Note
This method is typically used to implement 3D Touch Peek and Pop.Declaration
Objective-C
- (UIViewController *)detailViewControllerForCellAtIndexPath: (NSIndexPath *)indexPath;
-
Returns true if the modeled table view is live and displaying cells.
Declaration
Objective-C
@property (nonatomic, readonly) BOOL live;
-
Property is used internally by the framework to determine if the table view is in swipe-to-delete editing mode.
Declaration
Objective-C
@property (nonatomic, readonly) BOOL swipeToDeleteActive;
-
Property is used internally by the framework to set the master model in a master-detail relationship.
Declaration
Objective-C
@property (nonatomic, weak) SCTableViewModel *masterModel;
-
Property is used internally by the framework to set the master boundObject in a master-detail relationship.
Declaration
Objective-C
@property (nonatomic, weak) NSObject *masterBoundObject;
-
Property is used internally by the framework to set the master boundObject store in a master-detail relationship.
Declaration
Objective-C
@property (nonatomic, weak) SCDataStore *masterBoundObjectStore;
-
Holds the currently active detail model.
Warning
Property must only be set internally by the framework.Declaration
Objective-C
@property (nonatomic, weak) SCTableViewModel *activeDetailModel;
-
Called internally to rollback to initial cell bound values when their bound object was first assigned.
Declaration
Objective-C
- (void)rollbackToInitialCellValues;
-
Method called internally by framework to reload cells values, if needed.
Declaration
Objective-C
- (void)reloadCellsIfNeeded;
-
Warning: Method must only be called internally by the framework.
Declaration
Objective-C
- (void)enterLoadingMode;
-
Warning: Method must only be called internally by the framework.
Declaration
Objective-C
- (void)exitLoadingMode;
-
Warning: Method must only be called internally by the framework.
Declaration
Objective-C
- (void)clearLastReturnedCellData;
-
Warning: Method must only be called internally by the framework.
Declaration
Objective-C
- (void)configureDetailModel:(SCTableViewModel *)detailModel;
-
Warning: Method must only be called internally by the framework.
Declaration
Objective-C
- (void)keyboardWillShow:(NSNotification *)aNotification;
-
Warning: Method must only be called internally by the framework.
Declaration
Objective-C
- (void)keyboardWillHide:(NSNotification *)aNotification;
-
Method gets called internally whenever the value of a section changes. This method should only be used when subclassing ‘SCTableViewModel’. If what you want is to get notified when a section value changes, consider using SCTableViewModelDelegate methods.
When subclassing ‘SCTableViewModel’, you can override this method to define custom behaviour when a section value changes. However, you should always call “[super valueChangedForSectionAtIndex:]” somewhere in your subclassed method.
Declaration
Objective-C
- (void)valueChangedForSectionAtIndex:(NSUInteger)index;
Parameters
index
Index of the section changed.
-
Method gets called internally whenever the value of a cell changes. This method should only be used when subclassing ‘SCTableViewModel’. If what you want is to get notified when a cell value changes, consider using either SCTableViewModelDelegate or the cell’s actions.
When subclassing ‘SCTableViewModel’, you can override this method to define custom behaviour when a cell value changes. However, you should always call “[super valueChangedForRowAtIndexPath:]” somewhere in your subclassed method.
Declaration
Objective-C
- (void)valueChangedForRowAtIndexPath:(NSIndexPath *)indexPath;
Parameters
indexPath
Index path of the cell changed.
-
Method used internally by the framework to monitor model modification events.
Declaration
Objective-C
- (void)setTargetForModelModifiedEvent:(id)_target action:(SEL)_action;
-
Subclasses should override this method to handle when editButtonItem is tapped.
Declaration
Objective-C
- (void)didTapEditButtonItem;
-
Method called by refreshControl to initiate refresh.
Declaration
Objective-C
- (void)pullToRefreshDidStartLoading;
-
Method called internally.
Declaration
Objective-C
- (void)styleSections;
-
Method called internally.
Declaration
Objective-C
- (void)styleViews;
-
Method called internally.
Declaration
Objective-C
- (void)styleCell:(SCTableViewCell *)cell atIndexPath:(NSIndexPath *)indexPath onlyStylePropertyNamesInSet:(NSSet *)propertyNames;
-
Method called internally.
Declaration
Objective-C
- (void)configureCell:(SCTableViewCell *)cell atIndexPath:(NSIndexPath *)indexPath;
-
Undocumented
Declaration
Objective-C
@property (nonatomic, readonly) UITableView *trueTableView


Mike Jackson has a background in human-computer interaction and is a software architect at the Edinburgh Parallel Computing Centre. He is also a consultant with the Software Sustainability Institute.


Go
Fruit
Sign
In
Name
Email address
Password
I accept
Terms and Condition
Sign Up
arrow_forward
Already have account?
Sign In
here.


Client Details
Client ID:
Client Name:
Address:
City:
Contact Person:
Phone Number:
Mobile Number:
Email ID:
Submit


The October 2019 security patch is the final update for OnePlus 3/3T
by Damien WildeAfter three years of regular security updates and patches, the OnePlus 3/3T is now receiving its final update in the form of the October 2019 security patch.
Since release in 2016, both devices have been updated from Android Nougat up to Android Pie and had numerous security patches and updates in the interim. This final patch signals the end of “official” support for the OnePlus 3 and 3T — don’t expect another update unless a major security issue is encountered (via XDA-Developers).
The last update seen on the OnePlus 3 and 3T was actually the full Android Pie build. It also added the August 2019 security patch. This is well in line with the previous update maintenance schedule published on the official OnePlus forums — which had November 2019 as the end of extended security patch updates.
As expected, the changelog isn’t the most extensive, but it does bring some general bug fixes and improvements along with updated Google Mobile Services apps along with the October 2019 security patch. Check out the changelog below:
System
• Updated Android security patch to 2019.10
• Updated GMS apps
• General bug fixes and improvements
OnePlus confirmed to XDA that this update is currently in phase one and will roll out in stages. That means if you’re still rocking the OnePlus 3 or OnePlus 3T, you should see your last update once no issues have been found after the initial rollout. While your phone will work pretty much as normal and this was expected, it’s still a sad day when such a popular and defining device in OnePlus’ history is no longer supported.
More on OnePlus:
- OxygenOS 10.0.2 now rolling out for OnePlus 7 Pro w/ October 2019 patch, more
- OxygenOS 10.0.6 rolling out for OnePlus 7T, 7T Pro gets OxygenOS 10.0.4
- OnePlus Care app could come to North America in late November
FTC: We use income earning auto affiliate links. More.